home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS Toolkit
/
BBS Toolkit.iso
/
rbbs_pc
/
mapl0301.zip
/
MBS50301.MRG
< prev
next >
Wrap
Text File
|
1993-03-01
|
94KB
|
2,497 lines
* ------------[ BLED merge (c) Ken Goosens ]-------------
* Merge this against E:\RBBS\STOCK\RBBSSUB5.BAS to produce E:\RBBS\CHAT\RBBSSUB5.BAS
* E:\RBBS\STOCK\RBBSSUB5.BAS: Date 6-20-1992 Size 116575 bytes
* ------------[ Created 03-01-1993 19:15:39 ]------------
* REPLACING old line(s) by new
' $linesize:132
' $title: 'RBBSSUB5.BAS 17.4, Copyright 1986 - 92 by D. Thomas Mack'
' Copyright 1991 by D. Thomas Mack, all rights reserved.
' Name ...............: RBBSSUB5.BAS
' First Released .....: June 21, 1992
' Subsequent Releases.:
' Copyright ..........: 1986 - 1992
' Purpose.............: The Remote Bulletin Board System for the IBM PC,
' RBBS-PC.BAS utilizes a lot of common subroutines. Those that do not
' require error trapping are incorporated within RBBSSUB 2-5 as
' separately callable subroutines in order to free up as much
' code as possible within the 64K code segment used by RBBS-PC.BAS.
' Parameters..........: Most parameters are passed via a COMMON statement.
'
' Subroutine Line Function of Subroutine
' Name Number
' AddLink 63620 Adds a conference link
* ------[ first line different ]------
' AskItems 63610 Get an list of items
' BinSearch 63520 Binary searches sorted file for a key value
' BreakFileName 63300 Break file name into component parts
' BufAsUnit 63500 Buffer out a string with CR's
' ChangeInit 63590 Get an integer value
' ChkAddedTime 63056 Check whether ok to extend time remaining
' ChkIfMsgHeader 63550 Checks whether record is a msg header
' DeLink 63620 Removes conference from linked ones
' DoorReturn 63100 Process door requests
' FdMacExe 63462 Executes a found macro
' FileSystem 20117 File System for RBBS-PC
' FindIt 63490 Check whether file exists and if so open as #2
' FormRead 63420 Read from file into a form
' LockAppend 63400 Prepare for a file append
' MacroExe 63460 Execute internal macro rather than user
' MarkItems 63600 Convert list of items into a "mark"
' MsgNameMatch 63540 Match name to one in msg header
' NextConf 63615 Sets up join to next conference link
' NoPath 63480 Detects whether string has a path in it
' RestoreCom 63310 Restore comm port after external program
' ReadMacro 63330 Read and process macro
' ReadParms 63490 Read certain number of parameters from file 2
' ReportEcho 63635 Reports echo preference of caller
' SayWelcome 63640 Welcomes callers on logon
' SetPrivileges 63650 Sets user privileges based on PASSWRDS
' SetPrompt 63470 Set prompts based on the user's security
' SetSessionTime 63645 Sets the session time
' SetSysOp 63625 Determines whether remote or global SysOp
' SetUserFlag 63560 Sets specified user flag
' SetUserPref 63630 Sets user preferences based on user record
' ShellExit 63320 Exit RBBS via shell
' SrchPasswrds 63652 Searches the PASSWRDS file
' TakeOffHook 63530 Take modem off hook
' TStats 69600 Display transfer stats from XFER-? file ' MplXfer
' UnLockAppend 63410 Clean up after file append
' UnMarkItems 63610 Convert marked items into an input list
' VerifyAns 63510 Verify that string passes edits
' WildCard 63200 Match string to a pattern
'
' $INCLUDE: 'RBBS-VAR.BAS'
'
* REPLACING old line(s) by new
20117 ' $SUBTITLE: 'FileSystem -- subroutine for RBBS-PC's file system'
' $PAGE
'
' NAME -- FileSystem
'
' INPUTS -- PARAMETER MEANING
' ZFileSysParm = 1 LIST THE SYSOP'S COMMENTS FILE
' 2 L)IST DIRECTORY COMMAND
' 3 D)OWNLOAD COMMAND
' 4 RETURN FROM EXTERNAL PROTOCOLS
' 5 U)PLOAD COMMAND
' 6 S)CAN DIRECTORY COMMAND
' 7 P)ERSONAL FILES COMMAND
' 8 N)EW FILES COMMAND
' 9 RETURN FROM EXTENDED DESCRIPTION
* ------[ first line different ]------
' 10 Batch Upload files
'
' OUTPUTS -- ZFileSysParm = 1 COMMAND PROCESSED SUCCESSFULLY
' 2 RECYCLE TO TOP OF RBBS-PC (202)
' 3 PROCESS NEXT COMMAND (1200)
' 4 DENY USER ACCESS (1380)
' 5 HANDLE EXTENDED DESCRIP. (2008)
' 6 USER'S TIME EXCEEDED (10553)
' 7 Carrier DROPPED (10595)
'
' PURPOSE -- To handle the RBBS-PC file system commands
'
SUB FileSystem STATIC
ZFF = ZFileSysParm
ZFileSysParm = 1
ZActiveFMSDir$ = ""
CALL SaveUserActivity("F", ZNodeRecIndex, ZFalse) ' CHAT0813
ON ZFF GOSUB 20119, _ ' HANDLER TO LIST COMMENTS TO SYSOP
20150, _ ' L)IST DIRECTORY COMMAND HANDLER
20180, _ ' D)OWNLOAD COMMAND HANDLER
20263, _ ' RETURN FROM EXTERNAL Protocol'S
20400, _ ' U)PLOAD COMMAND HANDLER
21800, _ ' S)CAN DIRECTORY COMMAND HANDLER
21850, _ ' P)ERSONAL FILES COMMAND HANDLER
21860, _ ' N)EW FILES COMMAND HANDLER
20705, _ ' RETURN FROM EXTENDED DESCRIPTIONS
20410 ' 4)Batch Upload files
GOTO 21920
* REPLACING old line(s) by new
* ------[ first line different ]------
20120 X = 159 'Pe 01/19/93
Gosub 21915 'Pe 01/19/93
ZOutTxt$ = OutTxt$ + " " + _
ZFileNameHold$
IF WasRS$ <> "" THEN _
ZOutTxt$ = ZOutTxt$ + " for " + WasRS$
GOSUB 21650
IF ZFileSysParm > 1 THEN _
RETURN
CALL AskMore ("",ZTrue,ZTrue,ZAnsIndex,ZFalse)
IF ZNo THEN _
ZErrCode = 0 : _
RETURN
WasPG = ZTrue
* REPLACING old line(s) by new
20122 CALL OpenWork (2,ZFileName$)
IF ZErrCode = 53 THEN _
* ------[ first line different ]------
X = 160 : _ 'Pe 01/19/93
Gosub 21915 : _ 'Pe 01/19/93
ZOutTxt$ = OutTxt$ + " " + ZFileName$ : _
CALL UpdtCalr (ZOutTxt$,2) : _
X = 161 : _ 'Pe 01/19/93
Gosub 21915 : _ 'Pe 01/19/93
ZOutTxt$ = ZOutTxt$ + OutTxt$ : _
GOSUB 21650 : _
RETURN
ZJumpSupported = ZTrue
ZJumpLast$ = ""
LastOK = ZFalse
ZJumpSearching = ZFalse
MaxPrint = ZPageLength - 1
CALL CmdStackPushPop (1)
ZLastIndex = 0
* REPLACING old line(s) by new
20150 ZListDir = ZTrue
ListNew = ZFalse
SearchDate$ = ""
SearchString$ = ""
WasRS$ = ""
ShowDirOfDir = (ZLastIndex <= ZAnsIndex) AND NOT ZExpertUser
WasCK = 0
ZSearchingAll = ZFalse
* ------[ first line different ]------
ZExtendedOff = ZFalse 'ZTrue 'Pe 10/27/91
* REPLACING old line(s) by new
* ------[ first line different ]------
20155 IF ZDnldCompleted AND ZAutoEnd = 1 THEN _ 'Pe 02/05/90
ZFileSysParm = 7 : _
RETURN
IF ListNew OR ZAnsIndex > 255 THEN _ 'Pe 12/12/91
RETURN 'Pe 12/12/91
CALL GetDirs (ZFalse) 'Pe 02/04/90
IF ZWasQ = 0 THEN _
RETURN
ShowDirOfDir = ZFalse
CALL ConvertDir (ZAnsIndex)
WasQX = ZLastIndex
* REPLACING old line(s) by new
20159 IF ZAnsIndex < ZLastIndex THEN _
GOTO 20155
ZSearchingAll = ZFalse
CALL CmdStackPushPop (1)
ZLastIndex = 0
IF ZNo OR InFMS OR (ZFileNameHold$ = ZDirPrefix$) THEN _
GOTO 20155
GOSUB 20178
CALL QuickTPut (ZEmphasizeOff$,0)
ZTurboKey = - ZTurboKeyUser
* ------[ first line different ]------
X = 162 'Pe 01/19/93
Gosub 21915 'Pe 01/19/93
ZOutTxt$ = OutTxt$
GOSUB 21667
CALL AraAllCaps (ZUserIn$(),1)
'******************************* Pe 02/15/90 **********************
IF ZUserIn$(1) = "T" AND _
ZUserSecLevel >= ZOptSec(19 - 20 * (ZMenuIndex = 6)) THEN _
ZAnsIndex = 1 : _
CALL TypeFile : _
RETURN
IF ZUserIn$(1) = "V" AND _
ZUserSecLevel >= ZOptSec(19 - 20 * (ZMenuIndex = 6)) THEN _
ZAnsIndex = 1 : _
CALL GetArc : _
RETURN
'******************************************************************
IF ZUserIn$(1) = "L" THEN _
ZUserIn$(ZAnsIndex) = WasA1$ : _
GOTO 20161
Temp$ = ZUserIn$(1)
Temp = (ZUserIn$(1) = "D")
CALL AskItems ("MD",Temp$,ZTrue,"file",ZMarkedFiles$)
IF ZWasQ = 0 OR ZUserSecLevel < ZOptSec(19 - 20 * (ZMenuIndex = 6)) THEN _
GOTO 20160
IF Temp THEN _
GOSUB 20202 _
ELSE IF LEN(ZUserIn$(1)) > 1 THEN _
ZAnsIndex = 1 : _
GOSUB 20202
* REPLACING old line(s) by new
20162 CALL CmdStackPushPop (1) ' save dir list list processing
CALL FMS (ZWasZ$,SearchString$,SearchDate$,InFMS, _
ZCategoryName$(),ZCategoryCode$(),ZCategoryDesc$(),_
DnldFlag,CatFound,ZAnsIndex)
WHILE DnldFlag > 0 AND ZSubParm > -1
GOSUB 20202
IF ZFileSysParm > 1 THEN _
RETURN
* ------[ first line different ]------
IF ZDnldCompleted and ZAutoEnd = 1 THEN _ 'Pe 02/05/90
RETURN ' AUTOLOGOFF MOD
WasX$ = ZCategoryCode$(CatFound)
CALL DispUpDir (WasX$,SearchString$,SearchDate$,DnldFlag,ZAnsIndex)
CALL CheckTimeRemain (MinsRemaining)
IF ZSubParm = -1 THEN _
ZFileSysParm = 6 : _
RETURN
CALL Carrier
WEND
IF ZSubParm = -1 THEN _
ZFileSysParm = 7 : _
RETURN
IF ZAnsIndex > 255 OR ZRet THEN _
ZLastIndex = 0 : _
RETURN
CALL CmdStackPushPop (2) ' restore dir list list processing
ZActiveFMSDir$ = ""
IF InFMS THEN _
GOTO 20159
IF ZUserSecLevel < ZMinSecToView THEN _
IF ZFileNameHold$ = ZUpldDirCheck$ THEN _
X = 163 : _ 'Pe 01/19/93
Gosub 21915 : _ 'Pe 01/19/93
ZOutTxt$ = OutTxt$ : _
GOSUB 21640 : _ 'DGS-TXT
ZNo = ZTrue : _ 'DGS-TXT
GOTO 20155 'DGS-TXT
ZFileNameHold$ = ZUserIn$(ZAnsIndex)
IF ZLimitSearchToFMS THEN _
GOTO 20166
IF NOT ZSearchingAll THEN _
IF ZFileNameHold$ = "ALL" OR ZFileNameHold$ = "A" THEN _
ZSearchingAll = ZTrue : _
GOSUB 21890 : _
GOTO 20157
CALL BadFile (ZFileNameHold$,BadFileNameIndex)
ON BadFileNameIndex GOTO 20163,20172,20176
* REPLACING old line(s) by new
20166 ZFileName$ = ZCurDirPath$ + _
ZFileNameHold$ + ".MNU"
* ------[ first line different ]------
CALL FindIt (ZFileName$)
IF ZOK THEN _
CALL BufFile (ZFileName$,ZAnsIndex) : _
GOTO 20155
IF ZAltdirExtension$ = "" THEN _
GOTO 20172
ZFileName$ = ZCurDirPath$ + _
ZFileNameHold$ + _
"." + _
ZAltdirExtension$
CALL Graphic (ZFileName$)
IF NOT ZOK THEN _
GOTO 20172
* REPLACING old line(s) by new
20172 IF NOT ZSearchingAll THEN _
* ------[ first line different ]------
X = 70 : _ 'Pe 01/19/93
Gosub 21915 : _ 'Pe 01/19/93
ZOutTxt$ = "Directory " + _
ZFileNameHold$ + _
OutTxt$ : _
GOSUB 21640 : _
ZNo = ZTrue : _
IF ZFileSysParm > 1 THEN _
RETURN
GOTO 20155
* REPLACING old line(s) by new
20202 IF (ZTimeLock AND 2) AND (NOT TimeLockExempt) AND NOT ZHasPrivDoor THEN _
CALL TimeLock : _
IF NOT ZOK THEN _
RETURN
LastDnld = ZLastIndex
FirstDnld = ZAnsIndex
ZCmdTransfer$ = ""
* ------[ first line different ]------
ZAnsIndex = ZLastIndex
GOSUB 20470
LastDnld = LastDnld + (WasX > 0)
BatchBytes# = 0
BatchBlocks# = 0
ZDownFiles = 0
CALL KillWork (ZNodeWorkFile$)
ZErrCode = 0
ZAnsIndex = FirstDnld
* REPLACING old line(s) by new
20205 MarkingTime = (ZAnsIndex = FirstDnld OR NOT ZConcatFIles)
ZFileName$ = ZUserIn$(ZAnsIndex)
* ------[ first line different ]------
CALL AllCaps(ZFileName$) 'ANSIEd
CALL Remove (ZFileName$,", ")
ZViolation$ = "Download "
IF ZListOnly THEN _
CALL BreakFileName (ZFileName$,DR$,ZWasY$,WasX$,ZTrue) : _
ZFileNameHold$ = ZWasY$ + _
WasX$ : _
GOTO 20235
ZFileNameHold$ = ZFileName$
TmpFileNameHold$ = ZFileNameHold$ 'Pe 04/25/92
CALL BadFile (ZFileName$,BadFileNameIndex)
ON BadFileNameIndex GOTO 20220,20231,20233
* INSERTING new line(s)
20210 CALL RotorsDir (ZFileName$,ZSubDir$(),ZSubDirCount + _ 'Pe 06/01/92
((ZUserSecLevel < ZMinSecToView) OR _ 'Pe 06/01/92
NOT ZCanDnldFromUp),MarkingTime,"D") 'Pe 06/01/92
RETURN 'Pe 06/01/92
* REPLACING old line(s) by new
* ------[ first line different ]------
20220 IF INSTR(ZFileName$,ZDefaultExtension$)= 0 Then 'Pe 06/04/92
GOSUB 20210 'Pe 06/02/92
IF ZOK THEN _ 'Pe 06/02/92
GOTO 20235 'Pe 06/02/92
IF ZDotFlag THEN _ 'Pe 06/02/92
RETURN 'Pe 06/02/92
End if 'Pe 06/04/92
WasI = 1 'Pe 06/01/92
* DELETING old line(s)
20222
* REPLACING old line(s) by new
* ------[ first line different ]------
20225 CALL BreakFileName (ZFileName$,DR$,WasX$,Extension$,ZFalse) 'Pe 06/01/92
WasJ = INSTR(Mid$(ZCompressedExt$+". ",WasI),".") 'Pe 04/18/92
IF WasJ = 0 THEN _ 'Pe 04/18/92
GOTO 20231 'Pe 06/04/92
Check$ = MID$(ZCompressedExt$,WasI,WasJ-1) 'Pe 04/28/92
WasI = WasI + WasJ 'Pe 04/18/92
ZFileName$ = WasX$ + "." + Check$ 'Pe 04/18/92
ZFileNameHold$ = ZFileName$ 'Pe 04/18/92
GOSUB 20210 'Pe 06/01/92
IF ZOK THEN _ 'Pe 06/01/92
GOTO 20235 'Pe 06/01/92
IF ZDotFlag THEN _ 'Pe 06/01/92
RETURN 'Pe 06/01/92
GOTO 20225 'Pe 06/01/92
* REPLACING old line(s) by new
* ------[ first line different ]------
20231 X = 70 'Pe 01/19/93
Gosub 21915 'Pe 01/19/93
ZOutTxt$ = TmpFileNameHold$ + _ 'Pe 04/18/92
OutTxt$
CALL UpdtCalr (ZOutTxt$,2)
ZOutTxt$ = ZOutTxt$ + _
" Correct name"+ZPressEnterExpert$
ZSuspendAutoLogoff = ZTrue
GOSUB 21660
ZSuspendAutoLogoff = ZFalse
IF ZFileSysParm > 1 THEN _
RETURN
IF ZWasQ=0 THEN _
IF ZBatchTransfer AND ZAnsIndex >= LastDnld THEN _
GOTO 20262 _
ELSE ZAutoLogOffReq = ZFalse : _
RETURN
ZUserIn$(ZAnsIndex) = ZUserIn$(1)
GOTO 20205
* REPLACING old line(s) by new
20236 ZLine25$ = "(D) " + _
ZWasZ$
* ------[ first line different ]------
'
' * TEST FOR DOWNLOAD SECURITY
'
CALL OpenWork (2,ZFileSecFile$)
IF ZErrCode = 53 THEN _
X = 160 : _ 'Pe 01/19/93
Gosub 21915 : _ 'Pe 01/19/93
CALL UpdtCalr (OutTxt$ + " " + ZFileSecFile$,2) : _
GOTO 20247
* REPLACING old line(s) by new
20244 IF ZUserSecLevel < VAL(ZWorkAra$(2)) THEN _
GOTO 20245
FilePswd$ = ZWorkAra$(3)
IF FilePswd$ = "" THEN _
GOTO 20247
* ------[ first line different ]------
CALL AraAllCaps (ZUserIn$(),1)
IF ZUserIn$(1) = FilePswd$ THEN _
GOTO 20247
X = 164 'Pe 01/19/93
Gosub 21915 'Pe 01/19/93
ZOutTxt$ = OutTxt$ + " " + ZFileName$
GOSUB 21660
IF ZFileSysParm > 1 THEN _
RETURN
IF ZWasQ = 0 THEN _
RETURN
CALL AllCaps (ZUserIn$(1))
IF ZUserIn$(1) = FilePswd$ THEN _
GOTO 20247
* REPLACING old line(s) by new
20247 ZWasDF = 0
CALL BreakFileName (ZFileName$,DR$,WasX$,Extension$,ZFalse)
* ------[ first line different ]------
IF INSTR("...WRK.FW .GIF.JPG.MAC.ARC.EXE.COM.OBJ.WKS.LBR.ZIP.PAK.ZOO.ARJ.LZH.","."+Extension$+".") > 2 OR _
MID$(Extension$,2,1) = "Q" OR _ 'ST022093
(ZRequireNonASCII AND Extension$ = "BAS") THEN _
ZWasDF = ZTrue
* REPLACING old line(s) by new
20260 ZTransferFunction = 1
* ------[ first line different ]------
ZWasBatchTransfer = ZFalse 'Pe 03/02/92
ZUpBatchTransfer = ZFalse 'Pe 03/02/92
GOSUB 21790
IF ZFileSysParm > 1 THEN _
RETURN
ZBatchTransfer = ZBatchProto 'Pe Batch Mod
IF ZBatchTransfer AND ZCmdTransfer$ = "" THEN _
ZCmdTransfer$ = ZWasFT$
ON INSTR("AXCYN",ZInternalProt$) GOTO _
20340, _ ' ASCII DOWNLOAD
20290, _ ' Xmodem
20290, _ ' Xmodem CRC
20270, _ ' YMODEM
21700 ' NONE - CANCEL
'
' * EXTERNAL Protocol Downloads/Uploads
'
* REPLACING old line(s) by new
20262 IF ZBatchTransfer THEN _
IF ZAnsIndex < LastDnld THEN _
RETURN _
ELSE ZBlocksInFile# = BatchBlocks# : _
ZBytesInFile# = BatchBytes# : _
ZNumDnldBytes! = BatchBytes# : _
IF ZBytesInFile# < 1 THEN _
RETURN _
ELSE GOSUB 20780 : _
IF ZFileSysParm > 1 OR NOT ZOK THEN _
RETURN
* ------[ first line different ]------
IF ZAbort THEN _
ZAbort = ZFalse : _ 'Pe 01/26/92
ZDnldCompleted = ZFalse : _
GOSUB 21760 : _
RETURN
GOSUB 20337
CALL Transfer
* REPLACING old line(s) by new
20263 IF ZPrivateDoor THEN _
ZCmdTransfer$ = ZWasFT$ : _
CALL XferType (2,ZTrue) : _
ZCmdTransfer$ = ""
CALL OpenWork (2,"XFER-" + ZNodeID$ + ".DEF")
IF ZErrCode <> 0 THEN _
GOTO 20267
CALL ReadParms (ZWorkAra$(), ZFailureParm, 1)
IF ZErrCode <> 0 THEN _
GOTO 20267
CLOSE 2
* ------[ first line different ]------
IF NOT ZFakeXRpt THEN _ 'Pe 03/26/92
Call TStats 'Pe 03/26/92
CALL KillWork ("XFER-" + ZNodeID$ + ".DEF")
* REPLACING old line(s) by new
20265 IF ZTransferFunction = 2 THEN _
IF INSTR(ZWorkAra$(ZFailureParm),ZFailureString$) <> 1 THEN _
GOTO 20700 _
ELSE GOTO 20730
IF ZTransferFunction = 1 THEN _
* ------[ first line different ]------
ZDnldCompleted = (INSTR(ZWorkAra$(ZFailureParm),ZFailureString$) <> 1) 'Pe 05/30/91
GOSUB 21760
CALL Carrier
IF ZSubParm = -1 THEN _
ZFileSysParm = 7
RETURN
'
' * XFER FILE NOT Found
'
* REPLACING old line(s) by new
* ------[ first line different ]------
20292 X = 165 'Pe 01/19/93
Gosub 21915 'Pe 01/19/93
Call QuickTput1 (OutTxt$) : _
Call Delaytime (3) : _
Return
* DELETING old line(s)
20294
* REPLACING old line(s) by new
* ------[ first line different ]------
20318 X = 166 'Pe 01/19/93
Gosub 21915 'Pe 01/19/93
ZOutTxt$ = OutTxt$
GOSUB 21630
IF ZFileSysParm > 1 THEN _
RETURN
CALL DelayTime (3)
RETURN
* DELETING old line(s)
20325
* REPLACING old line(s) by new
* ------[ first line different ]------
20330 GOSUB 20337
ZOutTxt$ = ZProtoPrompt$ + _
" " + WasA1$ + _
" of " + _
ZFileNameHold$ + _
" ready. <Ctrl X> aborts"
GOSUB 21650
RETURN
* DELETING old line(s)
20335
* REPLACING old line(s) by new
20340 IF ZWasDF THEN _
* ------[ first line different ]------
X = 167 : _ 'Pe 01/19/93
Gosub 21915 : _ 'Pe 01/19/93
ZOutTxt$ = OutTxt$ : _
GOSUB 21650 : _
GOTO 21700
GOSUB 20750
IF ZFileSysParm > 1 OR NOT ZOK THEN _
RETURN
CALL OpenWork (2,ZFileName$)
IF (ZAnsIndex = FirstDnld OR NOT ZConcatFIles) THEN _
GOSUB 20337 : _
X = 168 : _ 'Pe 01/19/93
Gosub 21915 : _ 'Pe 01/19/93
ZOutTxt$ = OutTxt$ : _
GOSUB 21640 : _
IF ZFileSysParm > 1 THEN _
RETURN _
ELSE X = 169 : _ 'Pe 01/19/93
Gosub 21915 : _ 'Pe 01/19/93
ZOutTxt$ = ZProtoPrompt$ + " SEND of " + _
ZFileNameHold$ + _
OutTxt$ : _
ZTurboKey = 2 : _
ZForceKeyboard = ZTrue : _
ZSuspendAutologoff = ZTrue : _
GOSUB 21660 : _
ZSuspendAutologoff = ZFalse : _
IF ZFileSysParm > 1 THEN _
RETURN
* REPLACING old line(s) by new
20380 ZStopInterrupts = ZFalse
WasTU = 0
SWAP WasTU,ZPageLength
CALL BufFile (ZFileName$,WasX)
SWAP WasTU,ZPageLength
ZNonStop = (ZPageLength < 1)
IF StopFile THEN _
* ------[ first line different ]------
ZDnldCompleted = ZFalse : _ 'Pe 05/29/91
GOTO 20390
* REPLACING old line(s) by new
20385 ZDnldCompleted = ZTrue 'Pe 05/30/91
* REPLACING old line(s) by new
20395 GOSUB 21640
IF ZFileSysParm > 1 THEN _
RETURN
* ------[ first line different ]------
X = 170 'Pe 01/19/93
Gosub 21915 'Pe 01/19/93
ZOutTxt$ = OutTxt$ +ZPressEnterExpert$
GOSUB 21660
IF ZFileSysParm > 1 THEN _
RETURN
IF ZWasQ = 0 THEN _
RETURN
ZUserIn$(ZAnsIndex) = ZUserIn$(1)
GOTO 20435
* REPLACING old line(s) by new
20400 CALL TimeBack (1)
* ------[ first line different ]------
ZUpBatchTransfer = ZFalse 'Pe 12/08/91
ZWasBatchTransfer = ZFalse
GOSUB 20420
ZAutoLogOffReq = 0
FirstUpld = ZAnsIndex
GOTO 20430
* INSERTING new line(s)
20410 CALL TimeBack (1)
CALL KillWork (ZBatchWorkFile$) 'Pe Batchup mod
ZErrCode = 0
ZUpBatchTransfer = ZTrue
Call Killwork ("BatchUp" +ZNodeID$ +".LST")
ZErrCode = 0
ZAutoLogOffReq = 0
'
' changes for 12/28/91
'
If LEN(ZUserIn$) < 3 Then _
CALL Batchit : _
FirstUpld = 2 : _
LastUpld = ZLastIndex : _
GOTO 20430
FirstUpld = ZAnsIndex
Goto 20430
* REPLACING old line(s) by new
* ------[ first line different ]------
20420 X = 171 'Pe 01/19/93
Gosub 21915 'Pe 01/19/93
ZOutTxt$ = OutTxt$
GOSUB 21667
RETURN
'
' * SEARCH FOR DUPLICATE FILENAME
'
* REPLACING old line(s) by new
20432 FOR ZAnsIndex = FirstUpld TO LastUpld
IndexSave = ZAnsIndex
GOSUB 20471
GOSUB 20435
FirstUpld = FirstUpld + 1
IF ZFileSysParm > 1 THEN _
IndexSave = LastUpld + 1
ZAnsIndex = IndexSave
* ------[ first line different ]------
NEXT
ZCmdTransfer$ = ""
RETURN
* REPLACING old line(s) by new
20435 ZFileNameHold$ = ZUserIn$(ZAnsIndex)
ExtSrch = ZFalse
IF INSTR(ZFileNameHold$,".") = 0 THEN _
ZFileNameHold$ = ZFileNameHold$ + "." + ZDefaultExtension$
CALL AllCaps(ZFileNameHold$)
ZFileName$ = ZFileNameHold$
ZViolation$ = "Upload "
CALL NoPath (ZFileName$,BadFileNameIndex)
IF BadFileNameIndex THEN _
GOTO 20451
CALL BadFile (ZFileName$,BadFileNameIndex)
ON BadFileNameIndex GOTO 20440,20451,20515
* ------[ first line different ]------
'
' Following mod was orig from DGS-UNW mod....updated for Maple code 12/15/91
'
* REPLACING old line(s) by new
* ------[ first line different ]------
20440 TmpName$ = ZDirPath$+"NOTHANX.DEF" 'Pe 06/01/92
CALL FindIt (TmpName$) 'DGS-UNW
IF ZOK THEN
X = 172 'Pe 01/19/93
Gosub 21915 'Pe 01/19/93
CALL QuickTPut1 (OutTxt$ + " "+ZFileNameHold$)
CALL OpenWork (2,TmpName$)
HaveFile$ = ""
FileInList = ZFalse
WHILE NOT EOF(2) AND NOT FileInList
INPUT #2, HaveFile$
CALL AllCaps (HaveFile$)
FileInList = (INSTR(ZFileNameHold$,HaveFile$) > 0)
WEND
CLOSE 2
END IF
IF FileInList THEN _
GOTO 20443
'
' If you want to eliminate either one of these routines just comment
' out the one you don't want....NOTHANX.DEF must reside in RBBS's Subdir
' the OFFLINE.DIR were your Master FMS dir is kept....you can change names
' as you see fit.
' !!DO NOT COMMENT OUT THE LINE NUMBER !!
'
TmpName$ = ZDirPath$+"OFFLINE.DIR" 'PE mode2 to
CALL FindIt (TmpName$) 'DGS-UNW
IF ZOK THEN
X = 173 'Pe 01/19/93
Gosub 21915 'Pe 01/19/93
CALL QuickTPut1 (OutTxt$ + " "+ZFileNameHold$ )
CALL OpenWork (2,TmpName$)
HaveFile$ = ""
FileInList = ZFalse
WHILE NOT EOF(2) AND NOT FileInList
LINE INPUT #2, HaveFile$ 'Pe 12/15/91
CALL AllCaps (HaveFile$)
StopReading = INSTR(HaveFile$,".")
HaveFile$ = Left$(HaveFile$,StopReading) 'Pe 12/16/91
Search = INSTR(ZFileNameHold$,".")
Search$ = Left$(ZFileNameHold$,Search)
If Search$ = HaveFile$ THEN_
FileInList = ZTrue
WEND
CLOSE 2
END IF
'
' next 2 lines
' Allow Sysop to update FMS listing with a local upload
' even if the filename exists in the NOTHANX.DEF OR OFFLINE.DIR
'
* INSERTING new line(s)
20443 If ZSysop Then _
FileinList = ZFalse 'Pe 12/15/91
IF FileInList THEN _
CALL BufFile (ZHelpPath$+"NOTHANX.MSG",WasX) : _ 'Pe 06/01/92
CALL DelayTime (3) : _
GOTO 20453
CALL Carrier
IF ZSubParm = -1 THEN _
ZFileSysParm = 7 : _
RETURN
PersFile$ = ZFileName$ 'Pe 08/09/91
ZFileName$ = ZPersonalDrvPath$ + PersFile$ 'Pe 08/08/91
Call FindFile (ZFileName$,ZOK) 'Pe 08/09/91
IF ZOK THEN Goto 20452 'Pe 08/09/91
ZFileName$ = PersFile$ 'Pe 08/09/91
CALL RotorsDir (ZFileName$,ZSubDir$(),ZSubDirCount,ZTrue,"U")
* REPLACING old line(s) by new
20450 IF Extension$ <> Check$ THEN _
* ------[ first line different ]------
CALL RotorsDir (WasX$ + "." + Check$,ZSubDir$(),ZSubDirCount,ZTrue,"U") : _
IF ZOK THEN _
ExtSrch = ZTrue : _
GOTO 20452
GOTO 20447
* REPLACING old line(s) by new
* ------[ first line different ]------
20451 X = 174 'Pe 01/19/93
Gosub 21915 'Pe 01/19/93
ZOutTxt$ = OutTxt$+ ZFileName$ + ">"
GOTO 20395
* REPLACING old line(s) by new
20452 IF ZUserSecLevel < ZOverWriteSecLevel THEN _
GOTO 20453
IF ExtSrch AND (WasX$ + "." + Check$) <> ZFileName$ THEN _
* ------[ first line different ]------
X = 175 : _ 'Pe 01/19/93
Gosub 21915 : _ 'Pe 01/19/93
ZOutTxt$ = WasX$ + "." + Check$ + OutTxt$ _
ELSE X = 176 'Pe 01/19/93
Gosub 21915 'Pe 01/19/93
ZOutTxt$ = OutTxt$
GOSUB 21660
IF ZFileSysParm > 1 THEN _
RETURN
IF NOT ZYes THEN _
GOTO 20453
ZWasZ$ = ZFileName$
CALL KillWork (ZFileName$)
IF ZErrCode <> 0 AND ZErrCode <> 53 THEN _
X = 177 : _ 'Pe 01/19/93
Gosub 21915 : _ 'Pe 01/19/93
ZOutTxt$ = OutTxt$ : _
GOSUB 21660 : _
RETURN
GOTO 20475
* REPLACING old line(s) by new
20453 CLOSE 2
* ------[ first line different ]------
FileInList = ZFalse ' Pe 12/31/92
IF ZUserSecLevel >= ZAddDirSecurity THEN _
GOTO 20455
* REPLACING old line(s) by new
* ------[ first line different ]------
20454 X = 178 'Pe 01/19/93
Gosub 21915 'Pe 01/19/93
CALL QuickTPut1 (OutTxt$ + " " + ZFileNameHold$)
CALL DelayTime (3) 'Pe 08/04/91
PersFile$ = "" 'Pe 08/08/91
CALL UpdtCalr ("Upload duplicate " + ZFileNameHold$,1)
RETURN
* REPLACING old line(s) by new
* ------[ first line different ]------
20455 X = 179 'Pe 01/19/93
Gosub 21915 'Pe 01/19/93
ZOutTxt$ = OutTxt$
ZTurboKey = - ZTurboKeyUser
GOSUB 21660
IF ZFileSysParm > 1 THEN _
RETURN
IF NOT ZYes THEN _
RETURN
GOSUB 20460
IF WhoTo$ = "" THEN _
RETURN
AddingDescOnly = ZTrue
ZWasBatchTransfer = ZFalse 'Pe 01/03/92
ZWasFT$ = "l"
CALL UpdtUpload (ZCategoryName$(),ZCategoryCode$(),ZLinesInMsg,1) 'UPL-MOD pe082690
'Call AutoLogoff 'Pe 10/20/91 Test mod... remove when working
GOSUB 20702
RETURN
* REPLACING old line(s) by new
* ------[ first line different ]------
20460 CALL KillWork (ZNodeWorkFile$) 'Pe BatchUp
WhoTo$ = ""
IF ZUpBatchTransfer THEN _ 'Pe 04/29/92
WhoTo$ = "ALL" 'Pe 04/29/92
WasY$ = ZFileName$
IF ZUserSecLevel >= ZMinSecPersUpld THEN _
CALL SetWhoTo (ZTrue,WhoTo$,"",RcvrRecNum,Found) _
ELSE WhoTo$ = "ALL"
ZFileName$ = WasY$
RETURN
* REPLACING old line(s) by new
20471 ZWasZ$ = ZUserIn$(ZAnsIndex)
CALL AllCaps(ZWasZ$)
WasX = 0
IF LEN (ZWasZ$) = 1 THEN _
WasX = INSTR(ZDefaultXfer$,ZWasZ$) : _
IF WasX > 0 THEN _
ZAnsIndex = ZAnsIndex + 1 : _
IndexSave = IndexSave + 1 : _
ZCmdTransfer$ = ZWasZ$ : _
* ------[ first line different ]------
IF MID$(ZInternalEquiv$,WasX,1) = "N" THEN _
ZCmdTransfer$ = ""
RETURN
* REPLACING old line(s) by new
20475 ZWasZ$ = ZUpldDriveFile$
CALL FindFree
IF VAL(ZFreeSpace$) < 4096 THEN _
GOSUB 21895 : _
IndexSave = ZLastIndex + 1 : _
RETURN
* ------[ first line different ]------
X = 180 'Pe 01/19/93
Gosub 21915 'Pe 01/19/93
ZOutTxt$ = OutTxt$ + ZFreeSpace$
GOSUB 21640
IF ZFileSysParm > 1 THEN _
RETURN
GOSUB 20460 'Pe 08/08/91
If ZMplPersUpload = ZTrue Then _ 'Pe 08/09/91
ZFileName$ = ZPersonalDrvPath$ + PersFile$ 'Pe 08/08/91
'*****************
CALL UpdtUpload (ZCategoryName$(),ZCategoryCode$(),ZLinesInMsg,1) '<++++++
'*****************
* INSERTING new line(s)
20476 IF ZAbort THEN _ 'Pe 09/07/91 added line number
ZAbort = ZFalse : _ 'PE 12/14/88
RETURN
ZLine25$ = "(U) " + _
ZFileNameHold$
ZSubParm = 2
CALL Line25
ZOutTxt$ = ""
ZOK = ZTrue
* REPLACING old line(s) by new
* ------[ first line different ]------
20500 ZTransferFunction = 2
GOSUB 21790
IF ZFileSysParm > 1 THEN _
RETURN
IF ZInternalProt$ = "N" THEN _ 'Pe 08/08/91
GOTO 21700 'Pe 08/08/91
IF NOT ZUpBatchTransfer THEN _
CALL AutoLogOff 'Pe 02/04/90
IF ZAutoEnd = 2 THEN _
RETURN
ON INSTR("AXCYN",ZInternalProt$) GOTO _
20560, _ ' ASCII UPLOAD
20542, _ ' Xmodem
20542, _ ' Xmodem CRC
20542, _ ' YMODEM
20735 ' NONE - CANCEL
GOTO 20261
* REPLACING old line(s) by new
* ------[ first line different ]------
20542 X = 165 'Pe 01/19/93
Gosub 21915 'Pe 01/19/93
Call QuickTput1 (OutTxt$) : _
Call Delaytime (3) : _
Return
'
' * ASCII UPLOAD
'
* REPLACING old line(s) by new
20560 LineACK = (ZDefaultLineACK$ <> "")
IF LineACK THEN _
* ------[ first line different ]------
X = 181 : _ 'Pe 01/19/93
Gosub 21915 : _ 'Pe 01/19/93
ZOutTxt$ = OutTxt$ : _
ZTurboKey = - ZTurboKeyUser : _
LineACK = NOT ZNo : _
GOSUB 21660 : _
IF ZFileSysParm > 1 THEN _
RETURN
GOSUB 20337
X = 182 'Pe 01/19/93
Gosub 21915 'Pe 01/19/93
CALL QuickTPut1 (OutTxt$)
CALL QuickTPut1 (ZProtoPrompt$+" RECEIVE of " + ZFileNameHold$ + " ready")
ZOK = ZFalse
XOff = ZFalse
CALL OpenOutW(ZFileName$)
IF ZErrCode <> 0 AND ZErrCode <> 53 THEN _
ZWasEL = 20560 : _
GOTO 21900
GOSUB 20510
IF ZFileSysParm > 1 THEN _
RETURN
* REPLACING old line(s) by new
* ------[ first line different ]------
20670 X = 183 'Pe 01/19/93
Gosub 21915 'Pe 01/19/93
ZOutTxt$ = ZXOff$ + OutTxt$
* REPLACING old line(s) by new
20700 GOSUB 21780
IF ZFileSysParm > 1 THEN _
RETURN
* ------[ first line different ]------
'
'20702 IF ZWasFT$ = "l" THEN _ 'Pe 12/28/91
' ZWasBatchTransfer = ZFalse 'Pe 12/28/91
'
'Line number moved for Local Uploads 'Pe 01/03/91
'
IF ZWasBatchTransfer Then _
CALL BatchUpload (ZDesc$,ZUCat$,2) : _
GOTO 20703
* REPLACING old line(s) by new
* ------[ first line different ]------
20702 CALL UpdtUpload (ZCategoryName$(),ZCategoryCode$(), ZLinesInMsg,2) 'Pe 02/03/90
'
* INSERTING new line(s)
20703 IF ZAutoEnd = 1 THEN _ 'AUTO-UP MOD
ZFileSysParm = 7: _ 'Pe BatchUp 09/12/91
ZDnldCompleted = ZTrue : _ 'Pe BatchUp 09/12/91
RETURN 'AUTO-UP MOD
IF NOT ZGetExtDesc THEN _
ZPrivateDoor = ZFalse : _
GOTO 20710
X = 184 'Pe 01/19/93
Gosub 21915 'Pe 01/19/93
ZMsgHeader$ = OutTxt$ + " " + ZFileNameHold$
ZSysopComment = ZTrue
ZMaxMsgLines = ZMaxExtendedLines
WasLL = ZRightMargin
ZRightMargin = 30 + ZMaxDescLen
IF ZRightMargin > 74 THEN _
ZRightMargin = 74
ZFileSysParm = 5
RETURN
* REPLACING old line(s) by new
20705 ZMaxMsgLines = ZMaxMsgLinesDef
ZRightMargin = WasLL
* ------[ first line different ]------
CALL UpdtUpload (ZCategoryName$(),ZCategoryCode$(),ZLinesInMsg,3) 'Pe 02/04/90
* REPLACING old line(s) by new
20730 GOSUB 21780
* ------[ first line different ]------
X = 160 'Pe 01/19/93
Gosub 21915 'Pe 01/19/93
CALL QuickTPut1 (OutTxt$)
ZAutoLogoffReq = ZFalse 'Pe 10/20/91
ZWasBatchTransfer = ZFalse 'Pe 03/02/92
ZUpBatchTransfer = ZFalse 'Pe 03/02/92
LastUpld = 0
ZPrivateDoor = ZFalse
* REPLACING old line(s) by new
20735 CALL KillWork (ZFileName$)
* ------[ first line different ]------
IF ZErrCode <> 0 THEN _
ZWasEL = 20736 : _
GOTO 21900
ZAnsIndex = ZLastIndex + 1
IndexSave = ZAnsIndex
ZLastIndex = 0
RETURN
'
' * Sysop ABORTED UPLOAD
'
* REPLACING old line(s) by new
* ------[ first line different ]------
20745 X = 186 'Pe 01/19/93
Gosub 21915 'Pe 01/19/93
ZOutTxt$ = ZXOff$ + OutTxt$
GOTO 20675
'
' * CALCULATE DOWNLOAD TIME ESTIMATE
'
* REPLACING old line(s) by new
20760 IF ZErrCode <> 0 THEN _
* ------[ first line different ]------
X = 187 : _ 'Pe 01/19/93
Gosub 21915 : _ 'Pe 01/19/93
CALL QuickTPut1 (OutTxt$ + " " +ZFileNameHold$) : _
CALL UpdtCalr (OutTxt$ + " "+ZFileName$,2) : _
ZOK = ZFalse : _
ZErrCode = 0 : _
ZBytesInFile# = 0 : _
RETURN
ZBytesInFile# = LOF(2)
ZNumDnldBytes! = LOF(2)
ZOK = ZTrue
IF SizeOnly THEN _
SizeOnly = ZFalse : _
RETURN
ZBlocksInFile# = MaxBlock
IF ZBatchTransfer THEN _
BatchBlocks# = BatchBlocks# + ZBlocksInFile# : _
BatchBytes# = BatchBytes# + ZBytesInFile# : _
CALL OpenWorkA (ZNodeWorkFile$) : _
CALL PrintWorkA (ZFileName$) : _
ZDownFiles = ZDownFiles + 1 : _
CLOSE 2 : _
RETURN
ZDownFiles = 1
* REPLACING old line(s) by new
20791 CALL CheckTimeRemain (MinsRemaining)
IF ZSubParm = -1 THEN _
ZFileSysParm = 6 : _
RETURN
ZOK = ZTrue
Temp = ZExtraDnldTime
CALL ChkAddedTime (Temp)
Temp = MinsRemaining + Temp
ZWasA = INT(ZBlocksInFile# / 60) + 1
IF ZWasA <= Temp THEN _
GOTO 20793
* ------[ first line different ]------
IF ZDownFiles < 2 THEN _
CALL AllCaps (ZFileNameHold$) : _
X = 188 : _ 'Pe 01/19/93
Gosub 21915 : _ 'Pe 01/19/93
ZOutTxt$ = ZFileNameHold$ +OutTxt$ _
+ STR$(ZWasA) + " have" + STR$(Temp) : _
CALL UpdtCalr (ZOutTxt$,2) : _
CALL QuickTPut1 (ZOutTxt$) _
ELSE CALL OpenWork (2,ZNodeWorkFile$) : _
WHILE NOT EOF(2) : _
CALL ReadDir (2,1) : _
CALL BreakFileName (ZOutTxt$,DR$,ZWasY$,WasX$,ZTrue): _
ZFileName$ = ZWasY$ + WasX$ : _
X = 188 : _ 'Pe 01/19/93
Gosub 21915 : _ 'Pe 01/19/93
ZOutTxt$ = ZFileName$ + OutTxt$ _
+ STR$(ZWasA) + " have" + STR$(Temp) : _
CALL UpdtCalr (ZOutTxt$,2) : _
WEND : _
CLOSE 2 : _
X = 188 : _ 'Pe 01/19/93
Gosub 21915 : _ 'Pe 01/19/93
ZOutTxt$ = OutTxt$ _
+ STR$(ZWasA) + " have" + STR$(Temp) : _
CALL QuickTPut1 (ZOutTxt$)
CALL DelayTime (3)
IF ZDownFiles < 2 THEN _
GOTO 20792
ZLastIndex = 0
X = 189 'Pe 01/19/93
Gosub 21915 'Pe 01/19/93
ZOutTxt$ = OutTxt$
ZTurboKey = - ZTurboKeyUser
GOSUB 21668
IF ZNo THEN _
LastDnld = 0 : _
GOTO 20792
Temp = 0
CALL OpenWork (2,ZNodeWorkFile$)
WHILE NOT EOF(2)
CALL ReadDir (2,1)
CALL BreakFileName (ZOutTxt$,DR$,ZWasY$,WasX$,ZTrue)
ZFileName$ = ZWasY$ + WasX$
ZOutTxt$ = "Download " + ZFileName$ + " (Y,[N])"
ZTurboKey = - ZTurboKeyUser
GOSUB 21668
IF ZYes THEN _
Temp = Temp + 1 : _
ZOutTxt$(Temp) = ZFileName$
WEND
CLOSE 2
ZAnsIndex = 1
ReStart = (Temp > 0)
LastDnld = Temp
ZLastIndex = Temp
FOR WasX = 1 TO Temp
ZUserIn$(WasX) = ZOutTxt$(WasX)
NEXT
* REPLACING old line(s) by new
20793 IF ZRatioRestrict# > 0 THEN _
* ------[ first line different ]------
X = 190 : _ 'Pe 01/19/93
Gosub 21915 : _ 'Pe 01/19/93
CALL QuickTPut1 (OutTxt$) : _
CALL CheckRatio (ZTrue)
CALL AutoLogoff
IF ZAutoEnd = 2 THEN _
ZOK = ZFalse
RETURN
* REPLACING old line(s) by new
20851 ZWasY$ = ""
CALL CheckCarrier
IF ZSubParm = -1 THEN _
ZFileSysParm = 7 : _
RETURN
RETURN
'
* ------[ first line different ]------
' * CHANGE TO 8 BIT FOR Xmodem
'
* DELETING old line(s)
20860
20900
20903
20920
20922
20930
20960
20970
20990
* REPLACING old line(s) by new
20996 WasSO = 0
RETURN
'
* ------[ first line different ]------
' STANDARD ENTRY FOR RBBS-PC'S COMMON TERMINAL OUTPUT ROUTINE
'
' Modeled on lines 12975 to 12983 in RBBS-PC.BAS
* DELETING old line(s)
20999
21000
21020
21040
21050
21060
21070
21080
21090
21100
21110
21113
21120
21131
21145
21150
21170
21180
21190
21191
21200
21210
21212
21220
21225
21230
21240
21250
21280
21281
21300
21303
21350
21360
21380
21390
21410
21415
21420
21440
21443
21445
21450
21455
21460
21470
21480
21490
21503
21504
21510
21530
21531
21540
21545
21550
21560
21561
* REPLACING old line(s) by new
21720 CALL LPrnt (WasD$,NumReturns)
RETURN
'
* ------[ first line different ]------
' * UPDATE DOWNLOAD STATISTICS
'
' (formerly lines 50600 to 50614 in RBBS-PC.BAS
* DELETING old line(s)
21750
* REPLACING old line(s) by new
21760 GOSUB 21780
IF ZFileSysParm > 1 THEN _
RETURN
IF ZBatchTransfer THEN _
CALL LinesInFile (ZNodeWorkFile$,ZDownFiles) _
ELSE ZDownFiles = 1
* ------[ first line different ]------
IF NOT ZDnldCompleted THEN _ 'Pe 05/31/91
ZAutoLogoffReq = ZFalse : _
ZWasDF$ = " Aborted" : _
GOTO 21770
CALL LogPDown (ZPersonalDnld,1+ZAnsIndex-FirstDnld)
WasX = ((ZRatioRestrict# > 0) AND ZEnforceRatios AND ZFreeDnld)
IF NOT WasX THEN _
ZDnlds = ZDnlds + ZDownFiles : _
ZGlobalDLToday! = ZGlobalDLToday! + ZDownFiles : _
ZGlobalDnlds = ZGlobalDnlds + ZDownFiles : _
ZDLBytes! = ZDLBytes! + ZNumDnldBytes! : _
ZGlobalDLBytes! = ZGlobalDLBytes! + ZNumDnldBytes! : _
ZDLToday! = ZDLToday! + ZDownFiles : _
ZBytesToday! = ZBytesToday! + ZNumDnldBytes! : _
ZGlobalBytesToday! = ZGlobalBytesToday! + ZNumDnldBytes!
ZNumDnldBytes! = 0
ZWasDF$ = " Downloaded"
IF (ZAnsIndex = LastDnld OR NOT ZConcatFIles) THEN _
CALL SkipLine (1) : _
X = 191 : _ 'Pe 01/19/93
Gosub 21915 : _ 'Pe 01/19/93
CALL QuickTPut1 (OutTxt$)
IF WasX THEN _
X = 192 : _ 'Pe 01/19/93
Gosub 21915 : _ 'Pe 01/19/93
CALL QuickTPut1 (OutTxt$)
* DELETING old line(s)
21768
* REPLACING old line(s) by new
* ------[ first line different ]------
21773 IF ZTransferFunction = 1 THEN
CALL BreakFileName (ZFileName$,DR$,WasX$,Extension$,ZTrue)
ZWasZ$ = WasX$ + _
Extension$ + _
ZWasDF$ + _
" at " + _
ZTime$ + _
" using " + _
ZWasFT$ + _
STR$(ZBytesInFile#)
CALL UpdtCalr (ZWasZ$,2)
IF ZWasDF$ = " Downloaded" Then 'Pe021593
Call MenuPlus (9) 'Pe021593
END IF 'Pe021593
END IF
IF ZBatchTransfer THEN _
ZWasQ = ZWasQ - 1 : _
GOTO 21772
'CALL CheckRatio (ZFalse)
* REPLACING old line(s) by new
* ------[ first line different ]------
21774 RETURN
'
'
' ***** TURN ON INTERMEDIATE ECHO ****
'
' (formerly line 50620 in RBBS-PC.BAS
* REPLACING old line(s) by new
* ------[ first line different ]------
21790 Call CheckCarrier 'Pe 12/31/91
IF ZSubParm = -1 THEN _ 'Pe 12/31/91
ZFileSysParm = 7 : _ 'Pe 12/31/91
Return 'Pe 12/31/91
IF ZEchoer$ = "I" THEN _
CALL SetEcho ("R")
RETURN
'
' ***** DIRECTORY SEARCH ****
'
' (formerly lines 52900 to 52920 in RBBS-PC.BAS
* REPLACING old line(s) by new
* ------[ first line different ]------
21810 X = 193 'Pe 01/19/93
Gosub 21915 'Pe 01/19/93
ZOutTxt$ = OutTxt$
ZMacroMin = 99
GOSUB 21668
IF ZWasQ = 0 THEN _
RETURN
* REPLACING old line(s) by new
21820 WasRS$ = ZUserIn$(ZAnsIndex)
WildSearch = (INSTR(WasRS$,"*") > 0 OR INSTR(WasRS$,"?") > 0)
CALL AllCaps (WasRS$)
IF RIGHT$(WasRS$,1) = "*" THEN _
IF RIGHT$(WasRS$,2) <> ".*" THEN _
WasRS$ = WasRS$ + ".*"
SearchString$ = WasRS$
SearchDate$ = ""
ZJumpSearching = ZFalse
WasA1$ = WasRS$
* ------[ first line different ]------
ZExtendedOff = ZFalse 'ZTrue 'Pe 10/27/91
GOTO 21867
'
' ***** P - personal download ****
'
' (formerly lines 52950 to 52952 in RBBS-PC.BAS
* REPLACING old line(s) by new
* ------[ first line different ]------
21854 RETURN
'
' * WasN - COMMAND FROM FILES MENU (DISPLAY NEW FILES SINCE Last DIR DISPLAY)
'
' (formerly lines 53000 to 53070 in RBBS-PC.BAS
* REPLACING old line(s) by new
21862 WasA1$ = RIGHT$(ZWasLM$,4) +_
LEFT$(ZWasLM$,2)
* ------[ first line different ]------
X = 194 'Pe 01/19/93
Gosub 21915 'Pe 01/19/93
ZOutTxt$ = OutTxt$ + WasA1$
GOSUB 21668
CALL AraAllCaps (ZUserIn$(),ZAnsIndex)
IF ZWasQ = 0 OR ZUserIn$(ZAnsIndex) = "S" THEN _
WasRS$ = ZWasLM$ : _
GOTO 21866
* REPLACING old line(s) by new
21866 SearchDate$ = WasRS$
SearchString$ = ""
ZJumpSearching = ZFalse
* ------[ first line different ]------
ZExtendedOff = ZFalse 'ZTrue 'Pe 10/27/91
ZUserIn$(ZAnsIndex) = "A"
ZEndList = ZTrue 'Pe 12/01/91
GOTO 21871 'Pe NewFile mod
* REPLACING old line(s) by new
* ------[ first line different ]------
21867 CALL GetDirs (ZFalse)
IF ZWasQ = 0 THEN _
RETURN
* REPLACING old line(s) by new
21880 WasQX = ZAnsIndex
GOSUB 20157
IF ZFileSysParm > 1 THEN _
RETURN
ZAnsIndex = ZAnsIndex + 1
IF ZAnsIndex <= ZLastIndex THEN _
GOTO 21875
ListNew = ZFalse
* ------[ first line different ]------
ZEndList = ZFalse 'Pe 12/01/91
SearchString$ = ""
SearchDate$ = ""
RETURN
* REPLACING old line(s) by new
* ------[ first line different ]------
21895 X = 195 'Pe 01/19/93
Gosub 21915 'Pe 01/19/93
CALL QuickTPut1 (OutTxt$)
RETURN
'
' * MAIN FILE SYSTEM ERROR TRAP - ALL ERRORS PASS THROUGH THIS ROUTINE
'
' (formerly lines 13000 to 13500 in RBBS-PC.BAS
* REPLACING old line(s) by new
21900 IF ZDebug THEN _
ZOutTxt$ = "RBBSSUB5 DEBUG Error Trap Entry ERL=" + _
* ------[ first line different ]------
STR$(ZWasEL) + _
" ERR=" + _
STR$(ZErrCode) : _
IF ZPrinter THEN _
CALL Printit(ZOutTxt$) _
ELSE CALL LPrnt(ZOutTxt$,1)
IF ZWasEL = 20126 AND ZErrCode = 53 THEN _
GOTO 20142
IF ZWasEL = 20242 AND ZErrCode = 62 THEN _
CALL UpdtCalr (ZFileSecFile$ + " bad format!",2) : _
GOTO 20247
IF ZWasEL = 20263 THEN _
ZOutTxt$ = "<Download aborted>" : _
ZDnldCompleted = ZFalse : _ 'Pe
ZAutoLogoffReq = ZFalse : _
ZAutoEnd = 3 : _
GOTO 20390
IF ZWasEL = 20560 AND ZErrCode = 67 THEN _
GOTO 20451
IF ZWasEL = 20560 AND ZErrCode = 70 THEN _
IF VAL(ZFreeSpace$) > 1999 THEN _
GOTO 20610 _
ELSE GOSUB 21895 : _
GOTO 21700
IF ZWasEL = 20620 THEN _
GOTO 20670
IF ZWasEL = 20650 THEN _
GOTO 20670
IF ZWasEL = 20736 AND ZErrCode = 53 THEN _
GOTO 21700
* INSERTING new line(s)
21915 Call GetRBBSString(X,RBBSString$) 'Pe 01/16/93
OutTxt$ = RBBSString$ 'Pe 01/16/93
Return
* REPLACING old line(s) by new
63100 ' $SUBTITLE: 'DoorReturn - Subroutine to process requests from a door'
' $PAGE
'
' NAME -- DoorReturn
'
' INPUTS -- PARAMETER MEANING
' DOUTx.DEF File of requests
'
' OUTPUTS -- ZUserSecLevel Revised Security Level
'
' PURPOSE -- To give Doors a stable way to make requests
' to the host.
'
SUB DoorReturn STATIC
IF NOT ZExitToDoors THEN _
EXIT SUB
CALL OpenUser (ZHighestUserRecord)
FIELD 5, 128 AS ZUserRecord$
FIELD 5,31 AS ZUserName$, _
15 AS ZPswd$, _
2 AS ZSecLevel$, _
14 AS ZUserOption$, _
24 AS ZCityState$, _
2 AS MachineType$, _
1 AS ZBankTime$,_
4 AS ZTodayDl$, _
4 AS ZTodayBytes$, _
4 AS ZDlBytes$, _
4 AS ZULBytes$, _
14 AS ZLastDateTimeOn$, _
3 AS ZListNewDate$, _
2 AS ZUserDnlds$, _
2 AS ZUserUplds$, _
2 AS ZElapsedTime$
ZSubParm = 6
CALL FileLock
GET 5,ZUserFileIndex
ZTimesLoggedOn = CVI(MID$(ZUserOption$,1,2))
* ------[ first line different ]------
IF ZDoorDropFile$ = "R" THEN _ ' DD012702/DOORS
CALL ReadDoorSys ' DD012702/DOORS
CALL SetSysOp
CALL SetUserPref
CALL SetUserUpDn
ZGlobalsSet = ZFalse
CALL SetGlobalUpDn
ZElapsedTime = CVI(MID$(ZUserRecord$,127,2))
IF ZDoorDropFile$ = "R" THEN _ ' DD012702/DOORS
ZErrCode = 0 : _ ' DD012702/DOORS
PUT 5,ZUserFileIndex ' DD012702/DOORS
ZFileName$ = "DOUT" + ZNodeID$ + ".DEF"
CALL FindIt (ZFileName$)
IF NOT ZOK THEN _
GOTO 63197
* REPLACING old line(s) by new
63110 WasX$ = LEFT$(ZOutTxt$(2),1) ' ZWasSL = Security Level
CALL CheckInt (ZOutTxt$(2))
IF ZErrCode > 0 THEN _
GOTO 63105
IF WasX$ = "+" OR WasX$ = "-" THEN _
ZWasA = ZUserSecLevel + ZTestedIntValue _
ELSE ZWasA = ZTestedIntValue
IF ZWasA < ZSysopSecLevel THEN _
ZAdjustedSecurity = (ZWasA <> ZUserSecLevel) : _
IF ZAdjustedSecurity THEN _
* ------[ first line different ]------
Call MenuPlus (10) : _ ' Pe Menu174
ZUserSecLevel = ZWasA : _
MID$(ZUserRecord$,47,2) = MKI$(ZWasA) : _
Call GetRBBSString(196,RBBSString$) : _ 'Pe 01/16/93
OutTxt$ = RBBSString$ : _ 'Pe 01/16/93
CALL QuickTPut1 (OuTxt$ + STR$(ZWasA)) : _
Call GetRBBSString(197,RBBSString$) : _ 'Pe 01/16/93
OutTxt$ = RBBSString$ : _ 'Pe 01/16/93
CALL UpdtCalr (OutTxt$+STR$(ZWasA),2)
GOTO 63105
* REPLACING old line(s) by new
63320 ' $SUBTITLE: 'ShellExit - sub to shell out from RBBS'
' $PAGE
'
' NAME -- ShellExit
'
' INPUTS -- ShellTem$ String to invoke shell with
'
' OUTPUTS -- none
'
' PURPOSE -- Delay so that strings can finish printing. Restore comm
' port on return
'
SUB ShellExit (ShellTem$) STATIC
* ------[ first line different ]------
CALL DelayTime (4 + ZBPS) 'Pe 08/12/91
IF NOT ZLocalUser THEN _
IF ZFossil THEN _
CALL FOSExit(ZComPort) _
ELSE CLOSE 3 : _
OUT ZModemCntlReg,INP(ZModemCntlReg) OR 1
CLOSE 2
CALL MetaGSR (ShellTem$,ZFalse)
SHELL ShellTem$
IF ZFossil THEN _
IF NOT ZLocalUser THEN _
CALL FOSinit(ZComPort,Result) : _
IF Result = -1 THEN _
CALL PScrn("ERROR INIT FOSSIL AFT EXTERNAL") : _
SYSTEM
CALL DelayTime (2)
CALL RestoreCom
END SUB
* REPLACING old line(s) by new
* ------[ first line different ]------
63355 CALL GlobalSrchRepl (WasX$,"|",ZCarriageReturn$,ZTrue) ' KG011201
ZCommPortStack$ = ZCommPortStack$ + WasX$ + ZCarriageReturn$ ' STack
GOTO 63336
* REPLACING old line(s) by new
* ------[ first line different ]------
63396 CALL SmartText (ZOutTxt$,ZFalse, OverStrike,ZFalse) 'Pe 02/06/93
CALL MetaGSR (ZOutTxt$,OverStrike)
RETURN
* REPLACING old line(s) by new
63397 IF EOF(6) THEN _ ' Read next line in macro
* ------[ first line different ]------
ZMacroActive = ZFalse _
ELSE CALL ReadDir (6,1) : _
ZMacroActive = (ZErrCode = 0)
RETURN
* REPLACING old line(s) by new
63400 ' $SUBTITLE: 'LockAppend - prepares for file append'
' $PAGE
'
' NAME -- LockAppend
'
' INPUTS -- ZWasEN$ Name of file to append to
'
' OUTPUTS -- none
'
' PURPOSE -- Locks and opens file to append to
'
SUB LockAppend STATIC
* ------[ first line different ]------
IF ZNetWorkType <> 0 Then _ 'Pe 04/04/92
WasBX = &H4 : _ 'Pe 03/16/92
ZSubParm = 9 : _ 'Pe 03/16/92
CALL FileLock
ZErrCode = 0
CALL OpenWorkA (ZWasEN$)
END SUB
* REPLACING old line(s) by new
63410 ' $SUBTITLE: 'UnLockAppend - cleans up after file append'
' $PAGE
'
' NAME -- UnLockAppend
'
' INPUTS -- none
'
' OUTPUTS -- none
'
' PURPOSE -- Unlocks and close file appending to
'
SUB UnLockAppend STATIC
* ------[ first line different ]------
IF ZNetWorkType <> 0 Then _ 'Pe 04/04/92
WasBX = &H4 : _ 'Pe 03/16/92
ZSubParm = 10 : _ 'Pe 03/16/92
CALL FileLock
CLOSE 2
END SUB
* REPLACING old line(s) by new
63422 IF EOF(2) OR ZNo OR (ZErrCode > 0) OR (ZSubParm < 0) THEN _
Template$ = "" : _
EXIT SUB
IF FixedLength THEN _
CALL ReadDir (2,1) : _
ZGSRAra$(1) = ZOutTxt$ _
ELSE CALL ReadParms (ZGSRAra$(),DataVar,1)
WasX$ = Template$
* ------[ first line different ]------
CALL SmartText (WasX$,ZTrue,OverStrike,ZFalse) ' Pe 02/06/93
CALL MetaGSR (WasX$,OverStrike)
CALL BufAsUnit (WasX$)
IF RecPause OR (ZPageLength > 0 AND (ZLinesPrinted >= ZPageLength-1)) THEN _
CALL PauseExit : _
EXIT SUB
GOTO 63422
END SUB
* REPLACING old line(s) by new
63465 ' Forces a keyboard pause inside a macro
SUB PauseExit STATIC
ZSubParm = 4
ZTurboKey = -ZTurboKeyUser
* ------[ first line different ]------
ZOutTxt$ = ZMorePrompt$ + LEFT$(">",-1*ZExpertUser) + MID$("? : ",2*ZTurboKey+1,2) ' TC041610
ZForceKeyboard = ZTrue
ZNoAdvance = ZTrue
CALL TPut
ZLinesPrinted = 0
ZUserIn$ = ""
END SUB
* REPLACING old line(s) by new
63470 ' $SUBTITLE: 'SetPrompt - sub to set prompts based on user security'
' $PAGE
'
' NAME -- SetPrompt
'
' INPUTS -- PARAMETER MEANING
' ZBegMain POSITION START OF MAIN CMDS
' ZBegFile POSITION START OF FILE CMDS
' ZBegUtil POSITION START OF UTIL CMDS
' ZBegLibrary POSITION START OF Library CMDS
'
' OUTPUTS -- PRESENT.OPTS$ DISPLAY WHAT USER CAN DO (1st)
' CALLERS.OPTS$ DISPLAY WHAT USER CAN DO (2nd)
' ZMainOpts$ MAIN OPTS USER CAN DO
' ZFileOpts$ FILE OPTS USER CAN DO
' ZUtilOpts$ UTIL OPTS USER CAN DO
' ZLibOpts$ Library OPTS USER CAN DO
'
' PURPOSE -- Sets command line display of what user can do by
' section and display of what all user can do
'
SUB SetPrompt STATIC
First = ZBegMain
Last = ZBegFile - 1
CALL SetOpts (ZMainOpts$,ZInvalidMainOpts$,First,Last)
First = ZBegFile
Last = ZBegUtil - 1
CALL SetOpts (ZFileOpts$,ZInvalidFileOpts$,First,Last)
First = ZBegUtil
Last = ZBegLibrary - 1
CALL SetOpts (ZUtilOpts$,ZInvalidUtilOpts$,First,Last)
First = ZBegLibrary
Last = ZBegLibrary + 6
CALL SetOpts (ZLibOpts$,ZInvalidLibraryOpts$,First,Last)
First = 50
Last = 56
CALL SetOpts (SysOpt$,ZInvalidSysOpts$,First,Last)
First = 46
Last = 49
CALL SetOpts (GlobalOpts$,InvalidGlobalOpts$,First,Last)
IF LEN(SysOpt$) > 0 THEN _
ZSystemOpts$ = "Sysop: " + _
SysOpt$
ZMainOpts$ = GlobalOpts$ + ZMainOpts$ + _
MID$(ZAllOpts$,INSTR(ZOrigCommands$,"G"),1)
ZFileOpts$ = GlobalOpts$ + _
ZFileOpts$
ZUtilOpts$ = GlobalOpts$ + _
ZUtilOpts$
ZLibOpts$ = GlobalOpts$ + _
ZLibOpts$
CALL SortString (SysOpt$)
CALL SortString (ZMainOpts$)
ZMainOpts$ = ZMainOpts$ + _
SysOpt$
CALL SortString (ZFileOpts$)
CALL SortString (ZUtilOpts$)
CALL SortString (ZLibOpts$)
CALL AddCommas (ZMainOpts$)
CALL AddCommas (ZFileOpts$)
CALL AddCommas (ZUtilOpts$)
CALL AddCommas (ZLibOpts$)
ZDirPrompt$ = "What directory(s) (" + _
* ------[ first line different ]------
MID$("U)pload,A)ll,P)ers,L)ist,E)xtra,[Q]uit)",8 * (ZUserSecLevel => ZMinSecToView) + 9)
ZQuitPromptExpert$ = "QUIT C,S, or to F,[M],U"
ZQuitPromptNovice$ = "QUIT C)onference, S)ession or to section " + _
"F)ile, [M]ain, U)til"
ZQuitList$ = "FMUS@C"
IF ZUserSecLevel < ZOptSec(18) THEN _
ZQuitPromptExpert$ = LEFT$(ZQuitPromptExpert$,23) : _
ZQuitPromptNovice$ = LEFT$(ZQuitPromptNovice$,61) : _
MID$(ZQuitList$,5) = " "
IF ZUserSecLevel < ZOptSec(15) THEN _
ZQuitPromptExpert$ = LEFT$(ZQuitPromptExpert$,22) + _
MID$(ZQuitPromptExpert$,25) : _
ZQuitPromptNovice$ = LEFT$(ZQuitPromptNovice$,56) + _
MID$(ZQuitPromptNovice$,63) : _
MID$(ZQuitList$,3,1) = " "
IF ZUserSecLevel < ZOptSec(6) THEN _
ZQuitPromptExpert$ = LEFT$(ZQuitPromptExpert$,16) + _
MID$(ZQuitPromptExpert$,19) : _
ZQuitPromptNovice$ = LEFT$(ZQuitPromptNovice$,41) + _
MID$(ZQuitPromptNovice$,49) : _
MID$(ZQuitList$,1,1) = " "
CALL SetSection
END SUB
* REPLACING old line(s) by new
63540 ' Match Name to one in message file
SUB ChkMsgName (MsgFromCaller,MsgToCaller) STATIC
* ------[ first line different ]------
IF ZNewUserDGS THEN _ 'DGS-NEW
CALL MsgNameMatch ("NEWUSER",ZActiveUserName$,6,MsgFromCaller) : _ 'DGS-NEW
CALL MsgNameMatch ("NEWUSER",ZActiveUserName$,37,MsgToCaller) : _ 'DGS-NEW
Exit Sub
IF NOT ZRemoteSysop THEN _
WasX$ = LEFT$("SYSOP",-5*ZSysop) : _
CALL MsgNameMatch (ZorigUserName$,ZActiveUserName$,6,MsgFromCaller) : _ 'Dgs-ALSMod
CALL MsgNameMatch (ZorigUserName$,ZActiveUserName$,37,MsgToCaller) : _ 'Dgs-ALSMod
EXIT SUB
CALL MsgNameMatch ("SYSOP",ZSysopFullName$,6,MsgFromCaller)
IF NOT MsgFromCaller THEN _
CALL MsgNameMatch (ZOrigUserName$,"",6,MsgFromCaller)
CALL MsgNameMatch ("SYSOP",ZSysopFullName$,37,MsgToCaller)
IF NOT MsgToCaller THEN _
CALL MsgNameMatch (ZOrigUserName$,"",37,MsgToCaller)
END SUB
SUB MsgNameMatch (PrimeName$,AltName$,SearchPos,Found) STATIC
WasX$ = LEFT$(PrimeName$+" ",22-8*(SearchPos < 7))
GOSUB 63542
IF Found OR AltName$ = "" THEN _
EXIT SUB
WasX$ = LEFT$(AltName$ + " ",22-8*(SearchPos < 7))
GOSUB 63542
EXIT SUB
* REPLACING old line(s) by new
63542 WasY$ = MID$(ZMsgRec$,SearchPos,LEN(WasX$))
* ------[ first line different ]------
CALL SmartText(WasY$,ZFalse, OverStrike,ZFalse) 'Pe 02/05/93
CALL AllCaps(WasY$) 'SM091908
WasY$ = LEFT$(WasY$,LEN(WasX$)) 'SM091908
ZWasDF = INSTR(WasY$,"@")
IF ZWasDF > 0 THEN _
MID$(WasY$,ZWasDF) = " "
Found = (WasY$ = WasX$)
RETURN
END SUB
* REPLACING old line(s) by new
63560 ' Set specified user flag
SUB SetUserFlag (RcvrRecNum, ChangeIndex, WhatGetting$) STATIC
FIELD #5, 128 AS ZUserRecord$
IF RcvrRecNum > 0 THEN _
ZUserFileIndex = RcvrRecNum : _
ZSubParm = 6 : _
CALL FileLock : _
GET 5, RcvrRecNum : _
WasX = CVI(MID$(ZUserRecord$,57,2)) : _
MID$(ZUserRecord$,57,2) = MKI$(WasX OR ChangeIndex) : _
PUT 5, RcvrRecNum : _
ZSubParm = 8 : _
CALL FileLock : _
* ------[ first line different ]------
Call GetRBBSString(198,RBBSString$) : _ 'Pe 01/16/93
OutTxt$ = RBBSString$ : _ 'Pe 01/16/93
CALL QuickTPut1 (ZWorkAra$(1) + OutTxt$ + " " + WhatGetting$) : _
RcvrRecNum = 0
END SUB
* REPLACING old line(s) by new
63580 ' Displays user record
SUB DispUserRec (ToPrint) STATIC
ZOK = ZFalse
WasX$ = MID$(ZUserRecord$,ZStartHash,ZLenHash)
IF ASC(WasX$) = 0 OR LEFT$(WasX$,3) = " " THEN _
EXIT SUB
WasOF = CVI(ZSecLevel$)
IF WasOF > ZUserSecLevel THEN _
IF NOT ZGlobalSysop THEN _
EXIT SUB
ZOutTxt$ = ZFG4$ + RIGHT$(" " + STR$(LOC(5)),4) + _
":" + _
ZFG1$ + ZUserName$ + _
ZFG2$ + "SECURITY" + _
RIGHT$(" " + STR$(WasOF),6) + _
" "
* ------[ first line different ]------
IF WasOF < ZSysopSecLevel THEN _ 'ST120501
ZOutTxt$ = ZOutTxt$ + _
ZFG3$ + "Password= " + _
ZPswd$ + ZEmphasizeOff$
GOSUB 63583
IF WasOF < ZOrigMainSec THEN _
ZOutTxt$ = ZEmphasizeOn$ + "<Locked out>" + ZEmphasizeOff$ + SPACE$(7) _
ELSE IF WasOF >= ZSysopSecLevel THEN _
ZOutTxt$ = ZEmphasizeOn$ + " (SysOp) " + ZEmphasizeOff$ + SPACE$(8) _
ELSE ZOutTxt$ = SPACE$(19)
ZOutTxt$ = ZOutTxt$ + _
ZLastDateTimeOn$ + _
" " + _
ZFG4$ + ZCityState$ + ZEmphasizeOff$
GOSUB 63583
ZOutTxt$ = " DOWNLOADS = " + _
RIGHT$(" " + STR$(CVI(ZUserDnlds$)),5) + _
" " + _
"UPLOADS = " + _
RIGHT$(" " + STR$(CVI(ZUserUplds$)),5) + _
" " + _
" Times on ="
ZOutTxt$ = ZOutTxt$ + RIGHT$(" " + STR$(CVI(MID$(ZUserOption$,1,2))),5) + _
" TIME USED= " + _
STR$(CVI(ZElapsedTime$)) + _
" Min"
GOSUB 63583
ZOutTxt$ = " Bank Time : " +_
RIGHT$(" " + STR$(ASC(ZBankTime$)),5)
GOSUB 63583
IF NOT ZEnforceRatios THEN _
GOTO 63581
ZOutTxt$ = "BYTES: Dwn=" + STR$(CVS(ZDlBytes$)) + _
" Up=" + STR$(CVS(ZULBytes$)) + _
" TODAY Dwn: #=" + STR$(CVS(ZTodayDl$)) + _
" Bytes=" + STR$(CVS(ZTodayBytes$))
GOSUB 63583
* REPLACING old line(s) by new
63600 ' MarkItems - Converts a list of items ZUserIn$(), items ZAnsIndex
' thru ZLastIndex, into a marked list MarkedList$.
'
SUB MarkItems (IsMarking,MarkedList$,MarkedDesc$) STATIC
IF NOT IsMarking THEN _
EXIT SUB
FOR Temp = ZAnsIndex to ZLastIndex
* ------[ first line different ]------
MarkedList$ = MarkedList$ + ZUserIn$(Temp) + ZCarriageReturn$
'
'IF MarkedDesc$ = "file" then
' CALL AllCaps(ZUserIn$(Temp)) 'ANSIEd
' CALL Remove (ZUserIn$(Temp),", ")
' CALL RotorsDir (ZUserIn$(Temp),ZSubDir$(),ZSubDirCount + _ 'Pe 06/01/92
' ((ZUserSecLevel < ZMinSecToView) OR _ 'Pe 06/01/92
' NOT ZCanDnldFromUp),MarkingTime,"D") 'Pe 06/01/92
' IF NOT ZOK Then _
' ZUserIn$(Temp) = "" : _
' Call QuickTput( ZUserIn$(Temp) + "NOT FOUND",1)
'
' END IF
'
'
NEXT
CALL ReportMarked (MarkedList$,MarkedDesc$)
END SUB
SUB ReportMarked (MarkedList$,ListDesc$) STATIC
CALL FindLast (MarkedList$,ZCarriageReturn$,Temp,ZLastIndex)
CALL QuickTPut1 (STR$(ZLastIndex) + " " + ListDesc$ + "(s) now marked")
ZLastIndex = 0
END SUB
* REPLACING old line(s) by new
63615 ' * Sets up next message base link *
SUB NextConf (DoJoin) STATIC
IF ZLinkedConf$ = "" OR (NOT DoJoin) THEN _
EXIT SUB
EndConf = INSTR(ZLinkedConf$,ZCarriageReturn$)
ZHomeConf$ = LEFT$(ZLinkedConf$,EndConf-1)
IF ZNonStop THEN _
* ------[ first line different ]------
Call GetRBBSString(199,RBBSString$) : _ 'Pe 01/16/93
OutTxt$ = RBBSString$ : _ 'Pe 01/16/93
CALL QuickTPut1 (OutTxt$ + " " + ZHomeConf$) _
ELSE _
Call GetRBBSString(200,RBBSString$) : _ 'Pe 01/16/93
OutTxt$ = RBBSString$ : _ 'Pe 01/16/93
ZOutTxt$ = OutTxt$ + " " + ZHomeConf$ + " ([Y],N)" : _
ZTurboKey = -ZTurboKeyUser : _
ZSubParm = 1 : _
CALL TGet : _
IF ZNo THEN _
ZHomeConf$ = "" : _
ZGlobalRead = ZFalse : _
EXIT SUB
ZLinkedConf$ = RIGHT$(ZLinkedConf$,LEN(ZLinkedConf$)-EndConf)
END SUB
* REPLACING old line(s) by new
63625 ' * Sets SysOp security variables Formerly 5370 of rbbs-pc.bas
' * Returns ZWasA true when remote or global sysop
SUB SetSysOp STATIC
ZRemoteSysop = ((ZActiveUserName$ = ZSecretName$) OR _
* ------[ first line different ]------
(ZOrigUserName$ = ZSecretName$)) _
OR _
(ZActivUserName$ ="SYSOP") 'LK 12/05/91
ZWasA = ZRemoteSysop
ZGlobalSysop = (ZGlobalSysop OR (ZWasA AND ZOrigCnfg$ = ZConfigFileName$))
IF ZGlobalSysop THEN _
ZWasA = ZTrue
END SUB
* REPLACING old line(s) by new
63630 ' * Sets the user preferences based on user record.
' * Formerly in RBBS-PC.BAS
SUB SetUserPref STATIC
IF ZWasA THEN _
ZUserSecLevel = ZSysopSecLevel _
ELSE ZUserSecLevel = CVI(ZSecLevel$)
ZBankTime = ASC(ZBankTime$)
ZLastMsgRead = CVI(MID$(ZUserOption$,3,2))
ZUserXferDefault$ = MID$(ZUserOption$,5,1)
IF ZUserXferDefault$ = " " THEN _
ZUserXferDefault$ = "N"
CALL XferType (2,ZTrue)
WasX = ASC(MID$(ZUserOption$,6,1))
ZWasGR = (WasX MOD 3)
ZBoldText$ = CHR$(48 - (WasX > 50))
ZUserTextColor = (WasX - ZWasGR)/3 + 21
IF ZUserTextColor > 37 THEN _
ZUserTextColor = ZUserTextColor - 7
IF ZEmphasizeOff$ <> "" THEN _
CALL QuickTPut (ZColorReset$,0)
IF ZEmphasizeOnDef$ <> "" THEN _
ZEmphasizeOff$ = ZEscape$ + "[" + ZBoldText$ + ";40;" + MID$(STR$(ZUserTextColor),2) + "m" _
ELSE ZEmphasizeOff$ = ""
IF ZWasGR = 1 AND NOT ZEightBit THEN _
ZWasGR = 0
CALL SetGraphic (ZWasGR)
ZRightMargin = CVI(MID$(ZUserOption$,7,2))
IF ZRightMargin > 72 THEN _
ZRightMargin = 72
* ------[ first line different ]------
IF NOT ZConfMode THEN _
ZWasCI$ = ZCityState$ : _
CALL Trim (ZWasCI$)
UserOptions = CVI(MID$(ZUserOption$,9,2))
ZPromptBell = (UserOptions AND 1) > 0
ZExpertUser = (UserOptions AND 2) > 0
CALL SetExpert
ZNulls = (UserOptions AND 4) > 0
ZUpperCase = (UserOptions AND 8) > 0
ZLineFeeds = (UserOptions AND 16) > 0
ZCheckBulletLogon = (UserOptions AND 32) > 0
ZSkipFilesLogon = (UserOptions AND 64) > 0
ZFullScreenEditor = (UserOptions AND 128) > 0 'Pe 09/02/91
ZReqQuesAnswered = (UserOptions AND 256) > 0
ZMailWaiting = (UserOptions AND 512) > 0
WasX = (UserOptions AND 1024 ) > 0
CALL SetHiLite (NOT WasX)
IF NOT ZHiLiteOff THEN _
CALL QuickTPut (ZEmphasizeOff$,0)
ZTurboKeyUser = (UserOptions AND 2048) > 0
ZTurboKey = ZFalse
ZFileWaiting = (UserOptions AND 4096) > 0
REM ** Change to: **
REM ** ZAvailableForChat = (UserOptions AND 8192) = 0 ** 'Rchat-Mpl
REM ** If you want availability to be default ON **
ZAvailableForChat = (UserOptions AND 8192) > 0 ' RCHAT-Mpl
CALL SetRegDisplay
ZPageLength = ASC(MID$(ZUserOption$,13,1))
IF ZSubBoard THEN _
GOTO 63632
WasX$ = ZEchoer$
ZEchoer$ = MID$(ZUserOption$,14,1)
IF INSTR("ICR",ZEchoer$) = 0 THEN _
ZEchoer$ = "R"
IF WasX$ <> ZEchoer$ THEN _
CALL ReportEcho
CALL SetEcho (ZEchoer$)
* REPLACING old line(s) by new
63635 ' * Reports who is doing echoing. Formerly 9525 of rbbs-pc.bas
SUB ReportEcho STATIC
IF ZEchoer$ = "R" THEN _
ZOutTxt$ = "RBBS now set" _
ELSE IF ZEchoer$ = "C" THEN _
* ------[ first line different ]------
Call GetRBBSString(201,RBBSString$) : _ 'Pe 01/16/93
ZOutTxt$ = RBBSString$ _ 'Pe 01/16/93
ELSE Call GetRBBSString(202,RBBSString$) : _ 'Pe 01/16/93
ZOutTxt$ = RBBSString$ 'Pe 01/16/93
Call GetRBBSString(203,RBBSString$) 'Pe 01/16/93
OutTxt$ = RBBSString$ 'Pe 01/16/93
CALL QuickTPut1 (ZOutTxt$ + OutTxt$)
END SUB
* REPLACING old line(s) by new
63640 ' * Welcomes caller on
* ------[ first line different ]------
SUB SayWelcome (anystring$,FF) STATIC 'Pe 08/01/92
On FF Goto 63641,63643,63644 'Pe 08/01/92
* INSERTING new line(s)
63641 LOCATE 24,1 'Pe 08/01/92
CALL AMorPM
ZUserLogonTime! = TIMER
ZTimeLoggedOn$ = TIME$
ZLinesPrinted = 0
ZExpertUser = ZFalse
CALL SetExpert
ZOutTxt$ = ""
IF ZMaxNodes > 1 THEN _
ZOutTxt$ = " - Node " + ZNodeID$
IF ZReliableMode THEN _
ZOutTxt$ = ZOutTxt$ + " (Reliable)"
' Call DelayTime (7) 'delay 7 seconds for high speed modems 'JK11/18/92
' CALL QuickTPut1 ("Welcome to " + ZRBBSName$ + ZOutTxt$) 'Pe 06/26/92
CALL TestANSI
ZTestParity = ZTrue
ZStopInterrupts = ZTrue
ZFileName$ = ZPreLog$
CALL FlushCom (WasX$)
ZCommPortStack$ = ""
Exit Sub 'Pe 08/01/92
63643 IF NOT ZNewUser THEN _
CALL QuickTPut1 (ZFG1$ +"Times on :" + STR$(ZTimesLoggedOn) + ZCrLf$ +_
+ ZFG2$ +"Last on was: " + anystring$ + ZEmphasizeOff$)
IF ZRemindFileXfers OR NOT ZNewUser THEN _
CALL CheckRatio (ZFalse)
Exit Sub
63644 CALL QuickTPut1 (ZFG1$+"Logging " + ZActiveUserName$)
Temp1$ = MID$(ZBaudParity$,INSTR(ZBaudParity$," B"))
CALL QuickTPut1 (ZFG2$ + "RBBS-PC " + ZVersionID$ + ZCrLf$ + _
ZFG3$ + "Node " + ZNodeID$)
Call QuickTput1 (ZFG4$ + "Line speed " + ZCBaud$ + temp1$+ZFG1$ +_
", Host operating at " + ZModemInitBaud$ + temp1$ + ZEmphziseOff$)
' ", Host operating at " + anystring$+ ZEmphziseOff$)
Call SkipLine (1)
IF ZMaxNodes > 1 THEN ' CHAT0805
CALL LogNewForChat (ZMaxNodes) ' CHAT0805
END IF ' CHAT0805
END SUB
* REPLACING old line(s) by new
63656 CALL GetPassword
IF ZErrCode <> 0 THEN _
CALL UpdtCalr (ZPswdFile$ + " bad format!",2) : _
GOTO 63659
IF MatchPass THEN _
ZTempPassword$ = LEFT$(ZTempPassword$ + SPACE$(15),15) : _
IF MatchPass$ <> ZTempPassword$ THEN _
GOTO 63654 _
ELSE IF ZUserSecLevel >= ZMinSecForTempPswd THEN _
GOTO 63658 _
ELSE GOTO 63654
* ------[ first line different ]------
IF ZUserSecLevel <> ZTempSecLevel OR ZTempPassword$ <> "" THEN _
GOTO 63654
IF ZStartTime = 0 THEN _
GOTO 63658
WorkTime$ = TIME$
TestTime = VAL(LEFT$(WorkTime$,2) + MID$(WorkTime$,4,2))
IF TestTime => ZStartTime AND TestTime <= ZEndTime THEN _
GOTO 63658
IF ZEndTime < ZStartTime THEN _
IF TestTime => ZStartTime OR TestTime <= ZEndTime THEN _
GOTO 63658
GOTO 63654
* REPLACING old line(s) by new
63675 SUB SetUserUpDn STATIC
ZDnlds = CVI(ZUserDnlds$)
ZUplds = CVI(ZUserUplds$)
ZBankTime = ASC(ZBankTime$)
IF ZEnforceRatios THEN _
ZDLToday! = CVS(ZTodayDl$) : _
ZBytesToday! = CVS(ZTodayBytes$) : _
ZDLBytes! = CVS(ZDlBytes$) : _
ZULBytes! = CVS(ZULBytes$)
END SUB
SUB SetGlobalUpDn STATIC
IF NOT ZGlobalsSet THEN _
ZGlobalsSet = ZTrue : _
ZGlobalDnlds = ZDnlds : _
ZGlobalUplds = ZUplds : _
ZGlobalDLToday! = ZDLToday! : _
ZGlobalBytesToday! = ZBytesToday! : _
ZGlobalDLBytes! = ZDLBytes! : _
ZGlobalULBytes! = ZULBytes! : _
ZGlobalBankTime = ZBankTime
END SUB
* ------[ first line different ]------
'
* REPLACING old line(s) by new
63700 ' $SUBTITLE: 'TestANSI - test caller for ANSI support'
' $PAGE
'
' NAME -- TestANSI
' MEANING
' INPUTS -- ZTestANSITime # of seconds to wait for ANSI response
' 0 = do not test for ANSI
'
* ------[ first line different ]------
' OUTPUTS -- ZCanANSIChat = ZTrue if ANSIChat possible ' DD071301/CHAT
'
' PURPOSE -- Test callers' software for support of ANSI graphics
'
SUB TestANSI STATIC
IF ZTestANSITime < 1 THEN _
GOTO 63705
IF ZLocalUser THEN _
IF ZDOSAnsi THEN _
GOTO 63710 _
ELSE GOTO 63705
Call GetRBBSString(204,RBBSString$) 'Pe 01/16/93
OutTxt$ = RBBSString$ 'Pe 01/16/93
CALL QuickTPut (OutTxt$ ,2)
CALL FlushCom(Temp$)
CALL PutCom (ZEscape$ + "[6n")
CALL DelayTime(ZTestANSITime)
CALL WipeLine (5)
CALL FlushCom(Temp$)
CALL WipeLine (5)
Temp = INSTR(Temp$,ZEscape$ + "[")
IF Temp > 0 THEN _
Temp = INSTR(Temp,Temp$,"R") : _
IF TEMP > 0 AND TEMP < 9 THEN _
GOTO 63710
* REPLACING old line(s) by new
63710 CALL SetGraphic(2)
ZHiLiteOff = ZFalse
* ------[ first line different ]------
CALL QuickTPut1 ("
*ANSI
Color
Detected*
")
IF ZDOSANSI THEN _
ZCanANSIChat = ZTrue ' DD071301/CHAT
END SUB
* REPLACING old line(s) by new
63720 SUB AraAllCaps (Ara$(1),WhichElement) STATIC
Temp$ = Ara$(WhichElement)
CALL AllCaps (Temp$)
Ara$(WhichElement) = Temp$
END SUB
* ------[ first line different ]------
'
'******************** INSERTED AutoLogoff here ******************
'
' $SUBTITLE: 'AutoLogOff - Subroutine to to log off after transfer'
' $PAGE
'
SUB AutoLogOff STATIC
ZAutoEnd = 0
ZAbort = ZFalse 'Pe 01/19/92
IF ZGetExtDesc = ZTrue or ZOK = ZFalse or ZAutoLogOffReq = ZTrue THEN _
EXIT SUB
ZSubParm = 1
ZStackC = ZTrue 'Pe 12/21/91
* INSERTING new line(s)
64989 ZStopInterrupts = ZTrue 'Pe 04/17/92
CALL BufFile(ZHelpPath$+"AUTOOFF.MNU",X) ' MO 04/13/92
' ZOutTxt$ = " C)ontinue with transfer " + ZCrLf$ + _
' " A)bort transfer - Cancel"+ ZCrLf$ + _
' " G)o ahead LOG-OFF after Transfer " + ZCrLf$ + _
' ZCrLf$ + "Press [Enter] to continue or select (C,A,G)->"
ZStopInterrupts = ZFalse 'Pe 04/17/92
ZOutTxt$ = "Select ([C],A,G) "
ZTurboKey = -ZTurboKeyUser
ZSubParm = 1
Call TGet
CALL AllCaps (ZUserIn$)
WasMplx = INSTR("CAG",ZUserIn$)
CALL Carrier 'Pe 03/06/92
IF ZSubParm = -1 THEN _ 'Pe 03/06/92
ZFileSysParm = 7 : _ 'Pe 03/06/92
EXIT SUB 'Pe 03/06/92
IF ZUserIn$ = "" or ZUserIn$ = " " Then _
GOTO 64995
ON WasMplx GOTO 64995,64990,64998
GOTO 64989
64990 ZAutoEnd = 2
Call Skipline (2)
EXIT SUB
64995 ZAutoEnd = 3
Call Skipline (2)
EXIT SUB
64998 ZAutoEnd = 1
ZAutoLogoffReq = ZTrue 'Pe 12/20/92
Call SkipLine (2)
END SUB
'
' **** S - COMMAND FROM UTILITY MENU (STATISTICS) *** 'Pe 09/02/91
'
SUB Statistics (CallsToDate!,ActiveMessages,HighMsgNumber,HighestMsgRecord,CurUserCount,MaxMsgs) STATIC
ActionFlag = ZTrue
IF ZActiveMessageFile$ = ZPrevBase$ THEN _
ActionFlag = ZFalse
CALL QuickTPut1 ("RBBS-PC " + ZVersionID$ + " Node " + ZNodeID$)
ZOutTxt$ = ""
IF NOT ZConfMode THEN _
ZOutTxt$ = "Caller Number................"+STR$(CallsToDate!) + " "+ZCrLf$
ZOutTxt$ = ZOutTxt$ + "Active Messages.............."+STR$(ActiveMessages)+ZCrLf$
ZOutTxt$ = ZOutTxt$ + "Next Msg Number.............."+STR$(HighMsgNumber + 1)+ZCrLf$
IF ZLastMsgRead > 0 THEN _
ZOutTxt$ = ZOutTxt$ + "Last msg you read............" + STR$(ZLastMsgRead)+ZCrLf$ _
ELSE ZOutTxt$ = ZOutTxt$ + "You Have NOT Read Any Messages Yet !" +ZCrLf$ : _
ZNewUserDgs = Ztrue
ZSubParm = 2
CALL TPut
IF ZSubParm < 0 THEN _
EXIT SUB
ZWasZ$ = ZUpldDriveFile$
CALL FindFree
CALL QuickTPut1 ("Upload disk has" + ZFreeSpace$)
CALL QuickTPut1 ( "String Space = "+ (STR$(FRE("A")) + " bytes")) 'Pe 08/01/92
CALL QuickTPut1 ( "StackSpace = "+ (STR$(FRE(-2)) + " bytes")) 'Pe 05/10/92
' CALL LPrnt("Free Common String Space ="+ (STR$(FRE(ZWASZ$))),1) 'Bcfs Mods
' CALL LPrnt("Free Local String Space ="+ (STR$(FRE(WASZ$))),1) 'Bcfs Mods
' CALL LPrnt("Free Far Space ="+ (STR$(FRE(-1))),1) 'Bcfs mods
IF (NOT ZSysop) AND (ZUserSecLevel < ZSecKillAny) THEN _
CALL Delaytime (2) : _
EXIT SUB
UserWork = (ZHighestUserRecord * .95) + 1
IF ZMsgsCanGrow THEN _
ZWasY$ = " open" _
ELSE ZWasY$ = STR$(HighestMsgRecord + 1 - ZMaxNodes - ZNextMsgRec)
ZOutTxt$ = "USERS: used" + _
STR$(CurUserCount - 1) + _
" avl" + _
STR$(UserWork - CurUserCount) + _
" MSGS: used" + _
STR$(ActiveMessages) + _
" avl" + _
STR$(MaxMsgs - ActiveMessages) + _
" MSG REC: used" + _
STR$(ZNextMsgRec - 1) + _
" avl" + ZWasY$
ZSubParm = 2
CALL TPut
IF ZSubParm < 0 THEN _
EXIT SUB
CALL DelayTime (2)
END SUB
'********************************************************************
'
SUB ShowUsrProfile STATIC
CALL QuickTPut (CHR$(12),0) ' to clear screen
WasX$ = "USER NAME : " + ZActiveUserName$ + ZCrLF$ + _
"SECURITY :" + STR$(ZUserSecSave) + ZCrLf$ + _
"PASSWORD : " + ZPswdSave$ + ZCrLF$ + _
"READ MSG. :" + STR$(ZLastMsgRead)
Call QuickTput1 (WasX$)
WasX$ = "TIMES ON :" + STR$(ZTimesLoggedOn) +ZCrLF$ + _
"Last ON : " + ZLastDateTimeOnSave$ +ZCRLF$ + _
"DownLoads :" + STR$(ZDnlds) 'Pe 07/09/92
Call QuickTput1 (WasX$)
WasX$ = "Uploads :" + STR$(ZUplds)+ ZCrLf$ + _ 'Pe 06/01/92
"Baud Rate : " + ZCBaud$ + " Bps" 'Pe 06/01/92
Call QuickTPut1 (WasX$)
WasX$ = "Dl-Bytes :" + STR$(ZDLBytes!)+ZCrLF$ + _
"Ul-Bytes :" + STR$(ZULBytes!) 'Pe 07/09/92
Call QuickTput1 (WasX$)
WasX$ = "User mode : " + MID$("NoviceExpert",1 -6 * ZExpertUser,6) +ZCrLf$ +_
"Graphics : " + MID$("None AsciiColor",GR * 5 + 1,5)
Call QuickTput1 (WasX$)
WasX$ = "Protocol : " + ZUserXferDefault$ + ZCrLF$ + _
"Upper Case: " + MID$("and lowerONLY", 1 - 9 * ZUpperCase,9)+ZCrLf$ + _
"Line Feeds: " + FNOFFON$(ZLineFeeds)+ ZCrLF$ + _ 'Pe 07/11/92
"Nulls : " + FNOFFON$(ZNulls)
Call QuickTPut1 (WasX$)
IF ZRestrictByDate THEN _
CALL QuickTPut ("EXPIRATION: " + ZExpirationDate$,1)
CALL Toggle (-8)
CALL Toggle (-5)
CALL Toggle (-10)
CALL Toggle (-2)
CALL Toggle (-4)
CALL Toggle (-1)
CALL Toggle(-11) ' RCHAT
CALL AskMore ("",ZTrue,ZFalse,WasX,ZTrue)
END SUB
'********************************************************************
'
SUB BatchUpload (ZDesc$,ZUCat$,WasFF) STATIC
On WasFF GOTO 69000, 69500
69000 CALL OpenWorkA ("BatchUp" +ZNodeID$ +".LST")
Call PrintWorkA (ZFileName$)
CALL PrintWorkA (ZFileNameHold$)
CALL PrintWorkA (ZDesc$)
CALL PrintWorkA (ZUcat$)
Close 2
CALL OpenWorkA (ZBatchWorkFile$)
CALL PrintWorkA (ZFileName$)
Close 2
IF ZAnsindex = ZLastIndex THEN
ZUpBatchTransfer = ZFalse
ZWasBatchTransfer = ZTrue
End IF
Exit Sub
'
'
69500 CALL KillWork (ZBatchWorkFile$)
ZErrCode = 0
Temp$ = "BatchUp" + ZNodeid$ + ".LST"
CALL OpenWork (8,Temp$)
While Not EOF(8)
Line Input #8,ZFileName$
Line Input #8,ZFileNameHold$
Line Input #8,ZDesc$
Line Input #8,ZUCat$
Call Findit (ZFileName$)
IF ZOK THEN _
CALL UpdtUpload (ZCategoryName$(),ZCategoryCode$(), ZLinesInMsg,2) _
Else CALL UpdtCalr (ZFileNameHold$ + " ABORTED during BatchUL",2)
ZWasBatchTransfer = ZFalse 'Pe 09/12/91
ZAlreadyGiven = ZTrue
Wend
Close 8
End Sub
69600 ' $SUBTITLE: 'BATCHIT - subroutine to list files for batch downloading'
' $PAGE
'
SUB BATCHIT STATIC
CALL PutCom (CHR$(7))
Call GetRBBSString(205,RBBSString$) : _ 'Pe 01/16/93
OutTxt$ = RBBSString$ : _ 'Pe 01/16/93
CALL QuickTPUT (OutTxt$,1)
ZWasB=1
FOR BatchF = 2 TO 25
ZOutTxt$ = "Name of file #" + STR$(Batchf-1)
Call TGet
IF ZUserIn$ = "" THEN GOTO 70415
ZUserIn$(BatchF) = ZUserIn$
ZAnsIndex = BatchF+1
NEXT BatchF
70415 BatchF = BatchF-1
ZLastIndex = BatchF
End Sub
'
' $SUBTITLE: 'TStat --- Display Transfer Stats from Xfer-? file'
' $PAGE
'
SUB TStats STATIC ' MplXfer
CALL OpenWork (2,"XFER-" + ZNodeID$ + ".DEF") ' MplXfer
IF ZErrCode <> 0 THEN _
Exit Sub 'Pe 06/01/92
CALL SkipLine (2) ' MplXfer
Call GetRBBSString(206,RBBSString$) 'Pe 01/16/93
OutTxt$ = RBBSString$ 'Pe 01/16/93
CALL QuickTPut (ZFG2$ + OutTxt$,2)
Call GetRBBSString(207,RBBSString$) 'Pe 01/16/93
OutTxt$ = RBBSString$ 'Pe 01/16/93
CALL QuickTPut1 (ZFG4$ + OutTxt$)
Call GetRBBSString(208,RBBSString$) 'Pe 01/16/93
OutTxt$ = RBBSString$ 'Pe 01/16/93
Call QuickTput1 (ZFG3$ +OutTxt$ + ZEmphasizeOff$) ' MplXfer
WHILE NOT EOF(2) ' MplXfer
LINE INPUT #2,Stat$ ' MplXfer
WasS = INSTR(Stat$,"rs ") ' MplXfer
IF WasS > 0 THEN _ ' MplXfer
WasX$ = MID$(Stat$, 2, WasS) ' MplXfer
Match = INSTR(Stat$, ".") ' MplXfer
IF Match > 0 THEN _ ' MplXfer
WasZyX$ = MID$(Stat$, Match - 8, 12) ' MplXfer
Match = 0 ' MplXfer
Start = 1 ' MplXfer
DO ' MplXfer
Match = INSTR(Start, WasZyX$, "\") ' MplXfer
IF Match > 0 THEN _ ' MplXfer
WasZyX$ = RIGHT$(WasZyX$, LEN(WasZyX$) - Match) ' MplXfer
LOOP WHILE Match ' MplXfer
Match = 0 ' MplXfer
Start = 1 ' MplXfer
DO ' MplXfer
Match = INSTR(Start, WasZyX$, " ") ' MplXfer
IF Match > 0 THEN _ ' MplXfer
WasZyX$ = RIGHT$(WasZyX$, LEN(WasZyX$) - Match) ' MplXfer
LOOP WHILE Match ' MplXfer
WasXy = LEN(WasZyX$) ' MplXfer
IF ZErrCode <> 0 THEN _
Exit Sub 'Pe 06/01/92
CALL QuickTPut1 (ZFG1$ + WasZyX$ + SPACE$(15-WasXy) + WasX$ + ZEmphasizeOff$) ' MplXfer
WEND ' MplXfer
CALL SkipLine (1) ' MplXfer
CLOSE 2 ' MplXfer
CALL DelayTime (3) ' MplXfer
END SUB ' MplXfer
'
' $SUBTITLE: 'ShowBull --- Intitial Welcom screen displayed'
' $PAGE
'
Sub ShowBull (UsrSecLevel$) STATIC 'Pe 07/23/92
71525 CALL SkipLine (2)
WasX$ = ZFG1$+"Review System Screens Available:" + ZCrLf$ + _
ZFG4$+"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
Call QuickTPut (WasX$,2)
WasX$ = ZFG2$+"P)relog Screen"+ZCrLf$ + _
ZFG3$+"W)elcome Screen" + ZCrLf$ + _
ZFG4$+"O)nline News Screens"
Call QuickTPut (WasX$,1)
WasX$ = ZFG1$+"Y)our Access Level" +ZCrLf$ + _
ZFG2$+"N)ew User Sign-On" + ZCrLf$ + _
"[Q]uit"+ZEmphasizeOff$
Call QuickTPut (WasX$,2)
ZOutTxt$ = "Please make a Selection (P,W,O,Y,N,[Q]) "
GOSUB 72999 'Pe 04/25/92
CALL AllCaps (ZUserIn$)
WasMplX = INSTR("PWOYNQ",ZUserIn$)
IF ZUserIn$ = "" THEN _
GOTO 71596
ON WasMplX GOTO 71530,71533,71536,71539,71541,71596
71530 ZFileName$ = ZPreLog$
GOTO 71550
71533 ' ZFileName$ = ZWelcomeFile$
CALL Displaywelcome
Goto 71525
' GOTO 71550
71536 ZFileName$ = ZNewsFileName$
GOTO 71550
71539 ZFileName$ = ZWelcomeFileDrvPath$ + _ 'Pe 07/19/92
"LG" + _
UsrSecLevel$ + _ 'Pe 07/23/92
".DEF" 'Pe 06/01/92
GOTO 71550
71541 ZFileName$ = ZNewUserFile$
71550 GOSUB 71790
CALL AskMore ("",ZTrue,ZFalse,WasX,ZTrue)
GOTO 71525
71596 ZFileSysParm = 1
Exit Sub
'
71790 CALL Graphic (ZFileName$)
CALL BufFile (ZFileName$,WasX)
CALL Carrier
IF ZSubParm = -1 THEN _
ZFileSysParm = 7 : _
Exit Sub
RETURN
72995 GOSUB 72997
ZSubParm = 1
72996 CALL TGet
72997 IF ZSubParm < 0 THEN _
ZFileSysParm = 7 :_
Exit Sub
RETURN
72998 ZOutTxt$ = ZOutTxt$ + _
ZPressEnter$
GOTO 72995
72999 ZTurboKey = -ZTurboKeyUser
GOTO 72995
End Sub
'
78150 SUB DisplayWelcome STATIC
'
ZStopInterrupts = NOT ZWelcomeInterruptable ' DD011601
ZBypassTimeCheck = ZTrue ' DD011601
ZFileName$ = ZWelcomeFile$ + ".LST" ' DD011601
CALL FindIt (ZFileName$) ' DD011601
IF ZOK THEN ' DD011601
CALL OpenWork (7, ZFileName$) ' DD011601
WHILE NOT EOF(7) ' DD011601
CALL ReadDir (7,1) ' DD011601
ZFileName$ = ZOutTxt$ ' DD011601
ZStopInterrupts = NOT ZWelcomeInterruptable ' DD011601
ZBypassTimeCheck = ZTrue ' DD011601
ZDisplayAsUnit = ZTrue ' DD011601
GOSUB 78160 ' DD011601
WEND ' DD011601
CLOSE 7 ' DD011601
ELSE ' DD011601
ZFileName$ = ZWelcomeFile$ ' DD011601
ZDisplayAsUnit = ZTrue ' DD011601
GOSUB 78160 ' DD011601
END IF ' DD011601
ZDisplayAsUnit = ZFalse ' DD011601
EXIT SUB ' DD011601
78160 CALL Graphic (ZFileName$) ' DD011601
CALL BufFile (ZFileName$,WasX) ' DD011601
CALL Carrier ' DD011601
IF ZSubParm = -1 THEN _ ' DD011601
EXIT SUB ' DD011601
RETURN ' DD011601
END SUB ' DD011601
'
' $SUBTITLE: 'Line108 --- was line 108 in RBBS-PC.BAS'
' $PAGE
'
Sub line108 STATIC 'Pe 07/23/92
CALL BreakFileName (ZCallersFile$,Drive$,WasX$,ZWasY$,ZTrue)
ZCallersFilePrefix$ = WasX$
ZNodeWorkDrvPath$ = Drive$
ZArcWork$ = ZNodeWorkDrvPath$ + _
"ARCWORK" + _
ZNodeFileID$ + _
".DEF"
IF ZUseBASICWrites THEN _
ZLocalBksp$ = ZBackArrow$ _
ELSE ZLocalBksp$ = ZBackSpace$
ZSysopFullName$ = LEFT$(ZSysopFirstName$ + " " + ZSysopLastName$ + " ",22)
ZFastFileSearch = ZFalse
CALL FindIt (ZFastFileList$)
IF ZOK THEN _
CALL FindIt (ZFastFileLocator$) : _
IF ZOK THEN _
ZFastFileSearch = ZTrue : _
CALL BreakFileName (ZFastFileList$, Drive$,WasX$,ZWasY$,ZTrue) : _
ZFileName$ = Drive$ + WasX$ + "T" + ZWasY$ : _
CALL FindIt (ZFileName$) : _
IF ZOK THEN _
CALL OpenRSeq (ZFileName$, WasX, WasY, 72) : _
FIELD 2, 72 AS IndexRec$ : _
GET 2, 1 : _
ZFastTabs$ = IndexRec$ : _
CLOSE 2 _
ELSE ZFastTabs$ = ""
'
' ***** INITIALIZE NetBIOS INTERFACE ****
'
IF ZNetworkType = 6 AND NOT ZSubBoard THEN _
CALL InitIBM
'
' ***** ESTABLISH NEXT CALLERS FILE RECORD AVAILABLE ***
'
CALL SetCall
IF NOT ZSubBoard THEN _
ZLocalUser = ZTrue : _
ZOutTxt$ = ZColorReset$ : _
ZSubParm = 1 : _
CALL TPut : _
ZLocalUser = ZFalse
ZUpldDriveFile$ = RIGHT$(ZDnldDrives$,1)+":FREESPAC.UPL"
ZMinsPerSessionDef = ZMinsPerSession
ZMaxPerDayDef = ZMaxPerDay
ZMaxBankTimeDef = ZMaxBank
End Sub